【发布时间】:2011-06-07 06:15:17
【问题描述】:
当主页按钮被按下时,我想隐藏键盘并将我的视图恢复到正常状态,这样当应用程序再次启动/前台时,没有选择文本字段并且键盘被隐藏。
我的应用委托有这个方法的实现:
- (void)applicationDidEnterBackground:(UIApplication *)application {
[tabBarController.view endEditing:YES];
}
键盘确实被移除了,但我不明白的是:Apple 的文档说应用程序的快照是在方法返回之后拍摄的。然而,这对键盘向下滑动动画造成了问题。有时,当应用程序再次启动一小会儿时,它会在中途显示键盘。我假设屏幕截图是在动画完成之前拍摄的。
我会怎么做来解决这个问题,在applicationDidEnterBackground: 方法中引入一个短计时器?我想知道是否有“更清洁”的解决方案。
【问题讨论】:
-
你有没有尝试在 applicationWillResignActive: 中做这些事情?
-
是的,同样的问题。我已经将 endEditing 依次放在 applicationDidEnterBackground、applicationDidResignActive 和 applicationWillTerminate 中。我还尝试在它之后放置 [NSThread sleepForTimeInterval:0.5] - 这会导致当应用程序再次启动时显示黑屏,而不是半完成的动画。不确定哪个更好......
标签: cocoa-touch ios animation ios4 keyboard