我正在开发一个应用程序,一切正常,除了一个,即当用户在键盘处于活动状态时按下主页并再次打开我的应用程序时,视图帧边界正在改变并移出界限。我的预期结果是键盘应该被暂停,或者当键盘处于活动状态时从后台返回到前景时视图应该保持在相同的位置。
我希望人们了解我的情况并尽快回复。
感谢。
答案 0 :(得分:1)
app delegate中有一个方法
- (void)applicationDidEnterBackground:(UIApplication *)application
按主页按钮时会触发此方法。 在这个方法中进行必要的更改(textField resignFirstResponder),它应该可以正常工作。
编辑这是代码
在您拥有textfield的类中创建方法
-(void)performWhenHomeBtnprssed
{
[MytextField resignFirstResponder];
}
然后在
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[myClassObj performWhenHomeBtnprssed];
}
我同意@valexa你应该找到问题的根本原因
答案 1 :(得分:1)
我找到了问题的解决方案,希望人们可以使用我的解决方案。以下是我所做的代码,
在RootViewController文件中添加以下代码行(即,当您打开APP时,首先会显示哪个视图)。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedNotification:) name:UIApplicationDidEnterBackgroundNotification object:nil];
然后添加一个私有方法,如下所示
- (void) receivedNotification:(NSNotification *) notification
{
if ([username isFirstResponder])
{
[username resignFirstResponder];
}
else if ([password isFirstResponder])
{
[password resignFirstResponder];
}
}
我希望它对某些身体有所帮助,谢谢你。
进一步的帮助请参阅上面提到的链接,
答案 2 :(得分:0)
在软件开发中,解决根本原因总是比修补效果更好,在你的情况下你的视图定位存在问题,你应该解决这个问题,前景/背景循环不应该影响视图定位。