关于iPad上模态显示视图中的UITextField,UITextView在输入完成后无法回收键盘的问题解决。

在iPad开发过程中遇到一个问题,UITextField 存在由UIModalPresentationFormSheet 弹出的带导航条的视图控制器中时,调用 resignFirstResponder 方法,uitextfield的光标消失了,但是键盘却 无法隐藏。试了一下UITextView也是一样。有没有错误可查,就是回收不了键盘,万般无奈之下,在网上看到了同样的问题还不少了,不过都是通过重写

UINavigationController 方法,

-(BOOL)disablesAutomaticKeyboardDismissal {

    return NO;

}

我也尝试了一下,把这个方法放在viewController里,还是没效果。

最后重新定义了一个继承UINavigationController的类,把系统的UINavigationController里的-(BOOL)disablesAutomaticKeyboardDismissal方法重写了一下。

-(BOOL)disablesAutomaticKeyboardDismissal {

    return NO;

}

或者也可以这样写:

-(BOOL)disablesAutomaticKeyboardDismissal {

  return [self.topViewControllerdisablesAutomaticKeyboardDismissal];

}

这样写完之后,问题就迎刃而解了。

原文地址:https://www.cnblogs.com/daguo/p/3302143.html