在applicationDidEnterBackground中隐藏键盘: - 截屏问题

时间:2011-01-11 15:40:06

标签: cocoa-touch ios animation ios4 keyboard

当按下主页按钮时,我想隐藏键盘并将我的视图恢复到理智状态,这样当应用程序再次启动/前置时,没有选择文本字段并且键盘被隐藏。

我的app委托有这个方法的实现:

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

键盘确实被删除了,但我没有得到的是:Apple的文档说该应用程序的快照是在方法返回后。然而,这给键盘向下滑动动画带来了问题。有时,当应用程序再次启动一小段时间时,它会将键盘向下显示一半。我假设截图是在动画结束之前拍摄的。

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

1 个答案:

答案 0 :(得分:0)

我没试过这个,但是在你辞职键盘之前关闭动画呢:

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

如果这样可行,您需要在applicationWillEnterForeground

中重新打开它们