ios - 如何使所有文本字段在返回时关闭键盘?

标签 ios swift keyboard

我目前正在学习 Swift,并且我的应用程序中有一些 TextField。现在,我希望用户在按下文本字段中的返回键或点击屏幕上的任意位置时关闭键盘。

目前,我在所有 Controller 中添加了相同的代码,但我不太喜欢。有没有办法让所有 Controller /文本字段都按照我上面描述的方式运行。

用回车键关闭键盘:

func textFieldShouldReturn(textField: UITextField!) -> Bool {
    textField.resignFirstResponder()
    return true
}

点击屏幕时关闭键盘:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    self.view.endEditing(true)
}

我希望将其包含在我的所有 Controller 中,而不是每次都复制它。

最佳答案

您可以子类化 UITextField 并创建您自己的 TextField。如果您将 UITextField 添加到 Storyboard,只需在身份检查器中将该类设置为您的文本字段类即可。

class YourTextField : UITextField, UITextFieldDelegate {
    override init(){
        super.init()
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.delegate = self
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.delegate = self
    }

    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
}

关于ios - 如何使所有文本字段在返回时关闭键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28971171/

相关文章:

ios - 从 WKWebView 操作导航 SwiftUI 页面

swift - 应用程序委托(delegate)没有成员 persistenceStoreCoordinator(从核心数据中删除,swift)

ios - 无法从 JSONDecoder 获取数据,没错,我编的结构?

ios - 代码 : Creating a custom keyboard just for my own app

java - 如何在按下键盘按钮时执行一项操作而不是循环

ios - 如何在我的 iPad 应用程序中通过不寻常的曲线路径为一张图像制作动画?

ios - 尝试创建本地通知但在 swift 2 中收到错误 "cannot call value of non function type uilocalnotification "

ios - 如果我想在 cellForRowAtIndexPath 中创建三种相似类型的单元格之一,我该如何设置 "common"属性?

windows - 如何使Right Alt在美国键盘布局中的行为像AltGR?

ios - 保存登录几天