2011-01-11 125 views
3

当主页按钮被按下时,我想隐藏键盘并将我的视图恢复到一个健全的状态,这样,当应用程序再次启动/预先插入时,没有选择文本框,键盘被隐藏。隐藏applicationDidEnterBackground中的键盘: - 屏幕截图问题

我的应用程序委托有这样的方法实现:

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

键盘确实遭到移除,但我不明白的是这样的:苹果的文件说,该应用程序的快照,该方法返回后。但是,这会给键盘滑动动画带来问题。有时,当应用程序再次启动一会儿时,它会将键盘显示为一半。我假设截图是在动画完成之前拍摄的。

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

+0

您是否尝试过做applicationWillResignActive中的东西:? – 2011-01-11 15:51:52

回答

0

我还没有试过,但怎么样打开动画关闭你辞职键盘之前:

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

如果这个工作需要在把他们背在applicationWillEnterForeground