当用户在 UITextField 之外点击时关闭键盘 [重复]
Posted
技术标签:
【中文标题】当用户在 UITextField 之外点击时关闭键盘 [重复]【英文标题】:Dismissing keyboard when user taps outside of UITextField [duplicate] 【发布时间】:2018-08-15 16:47:32 【问题描述】:当用户在文本字段之外点击时,我有以下代码用于关闭键盘
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() 之外完成?
【问题讨论】:
【参考方案1】:self
无法像您想要的那样访问,您可以在 VC 内的任何方法之外使用像这样的lazy var
lazy var tap =
return UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
()
【讨论】:
谢谢!允许 self 属性按预期工作的()
是什么?
@Sh_Khan 或其他人请回答上述问题。
docs.swift.org/swift-book/LanguageGuide/Properties.html以上是关于当用户在 UITextField 之外点击时关闭键盘 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
当用户在弹出窗口之外点击时,防止 JQuery Mobile 关闭弹出窗口