当用户在 UITextField 之外点击时关闭键盘
Dismissing keyboard when user taps outside of UITextField
我有以下代码用于在用户点击文本字段外部时关闭键盘
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
view.addGestureRecognizer(tap)
选择器函数如下:
@objc func dismissKeyboard() {
view.endEditing(true)
}
第一段代码在 viewDidLoad 中,这就是我的问题所在。为什么它不起作用,如果:
let tap UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
在 viewDidLoad() 之外完成 ?
self
无法像您希望的那样访问,您可以在 VC
内的任何方法之外使用这样的 lazy var
lazy var tap = {
return UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
}()
我有以下代码用于在用户点击文本字段外部时关闭键盘
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
view.addGestureRecognizer(tap)
选择器函数如下:
@objc func dismissKeyboard() {
view.endEditing(true)
}
第一段代码在 viewDidLoad 中,这就是我的问题所在。为什么它不起作用,如果:
let tap UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
在 viewDidLoad() 之外完成 ?
self
无法像您希望的那样访问,您可以在 VC
lazy var
lazy var tap = {
return UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
}()