【发布时间】:2011-09-15 11:10:01
【问题描述】:
当用户单击按钮时如何关闭键盘? 一个更好理解的简短示例:用户在某些文本字段中编辑一些文本,最后他没有在键盘上单击“完成”或其他内容,而是在仍然显示键盘时单击“保存”按钮.那么,我现在如何关闭键盘?
谢谢。问候,丹尼尔
【问题讨论】:
标签: ios keyboard uibutton dismiss
当用户单击按钮时如何关闭键盘? 一个更好理解的简短示例:用户在某些文本字段中编辑一些文本,最后他没有在键盘上单击“完成”或其他内容,而是在仍然显示键盘时单击“保存”按钮.那么,我现在如何关闭键盘?
谢谢。问候,丹尼尔
【问题讨论】:
标签: ios keyboard uibutton dismiss
您还可以在层次结构中文本字段上方的任何视图上调用[view endEditing:YES]。如果您不确定哪个文本字段具有第一响应者状态,这很有用。它还可以选择让文本字段委托停止操作(通过从 shouldEndEditing 返回 NO :) 如果您使用委托对字段进行验证,这很好。
【讨论】:
在按钮动作中写入,
if([textField isFirstResponder]){
[textField resignFirstResponder];
}
如果有更多文本字段,则每次开始编辑时获取当前文本字段引用,并在按钮操作中退出其响应者。
【讨论】:
如果您有多个文本字段并且不知道哪个是第一响应者(或者您根本无法从编写此代码的任何位置访问文本字段),您可以在包含的父视图上调用 endEditing:文本字段。
在 Swift 中,在相关的视图控制器中,将这一行添加到按钮功能中:
self.view endEditing(true)
【讨论】:
除了 SriPriya 的回答,请在这里提供 Swift 2 风格的版本:
if numberTextField.isFirstResponder() {
numberTextField.resignFirstResponder()
}
请尽情享受……
【讨论】: