【发布时间】:2015-06-04 13:49:30
【问题描述】:
在我的 iOS 项目中,我有一个包含各种文本字段的表单。一些文本字段由键盘编辑,一些由放置在弹出框上的选取器视图编辑。
当我继续填充文本字段时,没有关闭它,然后如果我点击弹出框文本字段键盘保持打开状态。
它在屏幕上同时显示为键盘和弹出框,这是我不想要的。
我可以通过在键盘通知方法中设置一个标志以及通过文本字段代表编辑的最后一个文本字段来获取键盘是否打开。并尝试过
[self endEditing: YES];(在表格单元格中)[lastEditedTextField resignFirstResponder];
甚至尝试自己通过键盘关闭通知(不知道是否可能)
[[NSNotificationCenter defaultCenter] postNotificationName:UIKeyboardWillHideNotification object:nil];
但没有任何效果。
当弹出框出现时如何关闭键盘(如果已经打开)?
【问题讨论】:
-
@Cœur,你的问题只是关于关闭键盘,但在什么情况下没有澄清(只是模糊的句子)。请仔细阅读问题中提到的场景。这不仅仅是关于键盘关闭。 UITextField 的键盘关闭将由嵌入在弹出窗口中的选择器进行编辑。如已接受的答案中所述,在 textFieldShouldBeginEditing 方法中调用键盘关闭功能并检查当前正在编辑的文本字段对于上述场景非常重要。
-
我撤回了我的近距离投票,但我仍然不明白你的问题有什么独特之处:你想在点击时关闭键盘,然后只需 在点击时关闭键盘。当您比较解除方法时,只需参考链接的可能重复项以了解如何操作。