我目前正在学习 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/