隐藏applicationDidEnterBackground中的键盘: – 屏幕截图问题

当主页button被按下时,我想要隐藏键盘,并将我的视图恢复到一个健全的状态,以便当应用程序再次启动/预测时,没有select文本字段并隐藏键盘。

我的应用程序委托具有此方法的实现:

- (void)applicationDidEnterBackground:(UIApplication *)application { [tabBarController.view endEditing:YES]; } 

键盘确实被删除,但我没有得到的是这样的:苹果的文档说,该方法返回 ,应用程序的快照。 但是,这会对键盘滑动animation带来问题。 有时,当应用程序重新启动一会儿时,它会显示键盘的一半。 我假设截图是在animation完成之前拍摄的。

我会做什么来解决这个问题,在applicationDidEnterBackground:方法中引入一个短计时器? 我想知道是否有一个“更清洁”的解决scheme。

我还没有尝试过,但是在辞职之前closuresanimation呢?

 - (void)applicationDidEnterBackground:(UIApplication *)application { [UIView setAnimationsEnabled:NO]; [tabBarController.view endEditing:YES]; } 

如果这工作,你需要在applicationWillEnterForeground中打开它们