【问题标题】:Dismissing keyboard when user taps outside of UITextField [duplicate]当用户在 UITextField 之外点击时关闭键盘 [重复]
【发布时间】: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)) 在 vi​​ewDidLoad() 之外完成?

【问题讨论】:

    标签: ios scope uitextfield swift4 uitapgesturerecognizer


    【解决方案1】:

    self 无法像您想要的那样访问,您可以在 VC 内的任何方法之外使用像这样的lazy var

    lazy var tap = { 
        return UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
    }()
    

    【讨论】:

    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 2016-09-23
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多