【问题标题】:dismiss keyboard from all view hierarchy programmatically in swift以编程方式快速从所有视图层次结构中关闭键盘
【发布时间】:2020-10-21 02:33:35
【问题描述】:

我有如下图所示的视图控制器。

当我触摸文本字段时,键盘会出现。 我想在任何屏幕上点击、拖动时关闭键盘。

我试图把这段代码放到viewcontroller中,但是没有用。

    func dismissKey() {
    let tap: UITapGestureRecognizer = UITapGestureRecognizer( target: self, action: #selector(dismissKeyboard))
    tap.cancelsTouchesInView = false
    addGestureRecognizer(tap)
}

@objc func dismissKeyboard() {
    endEditing(true)
    resignFirstResponder()
}

但如果我将此代码放在自定义单元格类型 1 中,则只有在我点击此单元格时才会关闭键盘。

当我触摸任何屏幕时如何关闭键盘?

【问题讨论】:

    标签: swift keyboard uitextfield dismiss


    【解决方案1】:

    如果您尝试关闭UIViewController 中的键盘,请尝试:

    @objc func dismissKeyboard() {
        view.endEditing(true)
        resignFirstResponder()
    }
    

    【讨论】:

    • 我应该把这段代码放在哪里?在哪个级别?比较我的代码,我看不出有什么不同。
    • view.endEditing(true) 在您的视图控制器中。
    猜你喜欢
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多