【问题标题】:Hide keyboard plus return key?隐藏键盘加回车键?
【发布时间】:2015-05-25 07:11:51
【问题描述】:

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

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

我需要在文本视图中允许回车,但“回车”已被 Done 占用。

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

【问题讨论】:

    标签: swift xcode6 uitextview ios8.2


    【解决方案1】:

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

    将此代码添加到您的 ViewController:

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

    将按钮链接到此操作,一切就绪。

    【讨论】:

    • 更容易使 UIView(超级视图)成为 UIControl,如上一个答案中所述
    • 虽然@1sand0s 帮助解释了如何解决整体问题,但在单击导航栏按钮后,Shades 的回答肯定有助于如何隐藏键盘。两个很好的答案。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 2013-11-08
      相关资源
      最近更新 更多