隐藏键盘加 return 键?

Hide keyboard plus return key?

我有一个视图,顶部有一个文本字段,下面有一个文本视图,文本视图下面有两个按钮。

键盘配置了一个"Done"按钮。用户输入他们的信息后,他们单击文本视图下方的保存按钮。首先,他们单击完成以隐藏键盘(并显示保存按钮),然后单击保存按钮。

我需要在文本视图中允许回车 returns,但 "Return" 已被 Done 占据。

当您需要 Return 键和隐藏键盘的能力时,通常如何处理?

如果您正在使用 UINavigationBar 或具有其他按钮或字段,则可以检测到激活任何这些 UIControl 并用于通过 resignFirstResponder() 关闭键盘。事实上 Save/Cancel/Done 是 UIBarButtonItems 并且是完成事情和改变状态的标准机制,并创建一个框架来完成你想要的。如果您不采用这种方法,那么您必须在操作方式上发挥创意,并向用户明确说明需要做什么。

在 Interface Builder 中,您可以将主视图的类型从 UIView 更改为 UIControl,然后使用 addTarget() 将触摸事件检测为 'touch outside' 区域,并使用这些操作来退出第一响应者。但是您可能想考虑使用 UINavigationBar 或其他一些按钮栏或选项卡界面来进行状态转换。

同时查看 iOS Human Interface Guidelines 文档。这是一份很好的文档,可以帮助您了解 iOS 是如何设计来处理您正在处理的常见情况的,它可以让您摆脱设计的陈规陋习。写得很好,值得定期重温。

将一个按钮拖到您的视图中,删除文本,然后调整其大小以占据整个视图。在文档大纲中,select 新建按钮并将其拖到元素列表的顶部。这会将它置于后台,因此它不会隐藏视图的元素。

将此代码添加到您的 ViewController:

@IBAction func hideKeyboard(sender: AnyObject) {
    self.textField.resignFirstResponder()
}

Link 此操作的按钮,一切就绪。