UITextField的键盘不会被忽略.不完全是

Ben*_*tto 15 uitableview uitextfield ipad ios resignfirstresponder

我在模态表单(iPad)中有一个表视图,其中一个单元格包含一个UITextField.我的视图控制器拥有对文本字段的引用,也是其委托.

当文本字段命中Return时,我告诉它在-resignFirstResponder里面-textFieldShouldReturn:.在另一种情况下,我想强制它结束编辑,所以我告诉整个表视图-endEditing:YES.然后我释放我对文本字段的本地引用,并重新加载行以用其他东西替换它.

在任何一种情况下,键盘都不会消失.我不知道出了什么问题,我不确定如何进一步调试.我从来没有遇到任何其他文本编辑的粘性键盘问题 - 第一个响应者辞职总是表现得如预期的那样.

有什么想法吗?谢谢.

Ben*_*tto 21

Apple文档描述了这个例外:

在iPad上,如果视图控制器使用"表单"样式以模态方式显示其视图,则键盘一旦显示,就不会隐藏,直到用户点击关闭键或模式视图控制器以编程方式解除.此行为的目的是避免在用户在大部分(但不完全是)文本字段的视图之间移动时过多的动画.

这恰好适用于此(iPad上的模态表单).在这种情况下,显然不可能解雇键盘.超.:\

  • 您可以覆盖`disablesAutomaticKeyboardDismissal`方法,并为模拟呈现的视图控制器返回NO.这将解决防止键盘被解除的默认行为. (9认同)

Rhu*_*ult 11

实施-disablesAutomaticKeyboardDismissal并返回NO.它不会对iOS 6的工作,但你必须实现它在正确的控制器.如果你有一个带有文本字段的子控制器的模态表单导航控制器,那么它是需要方法实现的导航控制器,而不是子控件.

(另请参阅在IPAD上关闭键盘)