我试图在iPad上隐藏键盘,但我不知道为什么resignFirstResponder无法正常工作。
但是popToRoot运行良好。

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    NSString *desc = [NSString stringWithFormat:@"%@",[descTF text]];
    [textField resignFirstResponder];
    [self.navigationController popToRootViewControllerAnimated:YES];


    return YES;
}

所以,你能指导我,我该怎么办?

最佳答案

该字段是否在UIModalPresentationFormSheet中?如果是这样,这是一个已知问题,您无法通过编程方式关闭键盘,直到关闭 View Controller 为止。

UPDATE :根据Apple开发者论坛上的this thread的说法,一种可能的解决方法是从实现了disablesAutomaticKeyboardDismissal方法的导航 Controller 子类内部提供工作表 View 控件。所以像这样:

MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
CustomNavigationController *navController = [[CustomNavigationController alloc] initWithRootViewController:myViewController];
theNavigationController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:theNavigationController animated:YES];

关于objective-c - resignFirstResponder不起作用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6853613/

10-11 14:18