从导航控制器弹出viewcontroller时,键盘不会重新启动

时间:2010-07-31 14:23:33

标签: iphone

我在退出键盘时遇到问题。我在导航控制器中有tableViewController,并且在选择其中一个单元格时,不同的视图控制器被推送到导航控制器。在视图控制器中,我已经将一个文本字段指定为第一个响应者,这样一旦按下viewcontroller并且在弹出viewcontroller时键盘被重新签名,键盘就会显示

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    [self.navigationController popViewControllerAnimated:YES];

}

- (void)viewWillDisappear:(BOOL)animated{
    [self.textField resignFirstResponder];
}

这个工作正常。但是,当我按下相同的视图控制器时,当我弹出它时,键盘不会退出。它阻止了tableViewController的视图。

1 个答案:

答案 0 :(得分:-3)

我遇到了与你相同的问题(UINavigationController,UIAlertView,UITextField或UITextView)。

我通过在后台执行pop并轻松解决了这个问题并删除了resignFirstResponder调用(文件中的viewWillDisappear方法),如下所示:

-(void)popCurrentView {
    [self.navigationController popViewControllerAnimated:YES];
}

-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (alertView.cancelButtonIndex != buttonIndex) {
        [self performSelectorInBackground:@selector(popCurrentView) withObject:nil]; 
    }
}