返回时如何让所有文本字段关闭键盘?

时间:2015-03-10 18:17:22

标签: ios swift keyboard

我目前正在学习Swift并在我的应用程序中使用了一些TextField。现在我希望用户在按下TextField中的返回键或点击屏幕上的任何位置时关闭键盘。

目前我在所有我不太喜欢的控制器中添加相同的代码。有没有办法使所有控制器/ TextField的行为与我上面描述的方式相同。

使用return:

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

点击屏幕时关闭键盘:

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

我想在所有控制器中使用,而不是每次都复制它。

1 个答案:

答案 0 :(得分:2)

您可以继承UITextField并创建自己的TextField。与向故事板添加UITextField相比,只需将类设置为身份检查器中的文本字段类。

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
    }
}