解雇 UIKeyboard 在 Objective-C 中不起作用

Posted

技术标签:

【中文标题】解雇 UIKeyboard 在 Objective-C 中不起作用【英文标题】:dismissing UIKeyboard not working in Objective-C 【发布时间】:2015-06-07 13:17:19 【问题描述】:

我有一个视图,其中有两个 uitextfields。如果用户点击 uitextfield1 ,键盘会出现并且他可以输入字符。选择 DONE 时,键盘成功退出。如果用户点击 uitextfield 2,我将关闭键盘并在用户选择日期的子视图中显示日期选择器。一旦选择了日期,选择器就会关闭,并且选择的日期会显示在 uitextfield2 中。

这是我面临的问题。

1) 如果我们选择 textfield 1 并立即选择 textfield 2 ,键盘将无法消失。但是当我们再次选择 textfield 1 并单击 DONE 时,键盘消失了。

我尝试解除这个,在 uitextfield 中确实开始编辑,uitextfield 确实结束了编辑,uitextfield 应该返回方法。但是在这种情况下,如果我们导航到其他页面,则没有任何效果,并且键盘会停留在屏幕上。

请帮我解决这个问题。

【问题讨论】:

【参考方案1】:

使用[self.view endEditing:YES]; 而不是[uiTextField resignFirstResponder];

【讨论】:

【参考方案2】:

假设你在正确的地方添加了[textfield1 resignFirstResponder]包括viewWillDisappear,那么如果你能显示一些代码sn-p就好了。

【讨论】:

以上是关于解雇 UIKeyboard 在 Objective-C 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

iOS iPhone - 在keyboardWillShow之前获取UIKeyboard高度

是否可以在查看 UIKeyboard 时更改 UITextInputTraits?

iOS7中的UIKeyboard

resignFirstResponder 没有在 iPad 中隐藏 UIkeyboard

UIKeyboard 可见时如何更改 UITableView 的大小?

如何创建一个行为类似于 UIKeyboard(数字键盘)的 UIButton 矩阵?