【问题标题】:iOS 8 Keyboard Dismissed delay after modal view controller is dismissed模式视图控制器关闭后iOS 8键盘关闭延迟
【发布时间】:2014-12-04 23:49:12
【问题描述】:

在 iOS 8+ 中,我注意到如果您在呈现的视图控制器中有一个当前为 firstResponder 的文本字段,则当视图控制器被解除时,键盘会在被解除之前挂起大约 1 秒钟。

iOS 8.0 和 8.1 以及 not 7.1 都会出现这种情况。

有什么想法吗?

【问题讨论】:

    标签: ios8 modalviewcontroller


    【解决方案1】:

    据此,在 iOS 8 中,视图似乎在真正离开屏幕之前不会放弃第一响应者状态

    http://prod.lists.apple.com/archives/cocoa-dev/2014/Sep/msg00391.html

    我们的解决方法是在-viewWillDisappear 中调用[self.view endEditing:YES]

    【讨论】:

    • 当我尝试这个时,键盘开始关闭,但在视图控制器由于某种原因关闭之前又跳回......
    • iOS 9 中仍然存在 - view.endEditing(true)
    【解决方案2】:

    适用于 Swift 3/4

    override func viewWillDisappear(_ animated: Bool) {
        self.view.endEditing(true)
    }
    

    此外,如果它没有辞职,请尝试在您尝试结束输入的文本字段上调用 ​​resignFirstResponder

    override func viewWillDisappear(_ animated: Bool) {
        textField.resignFirstResponder()
    }
    

    【讨论】:

    • 别忘了给super.viewWillDisappear(animated)打电话。
    • @TimVermeulen 是的!很棒的评论。如果 Ricks 将此添加到他的答案中,它将得到我的支持。
    猜你喜欢
    • 2011-07-17
    • 2017-12-24
    • 2013-10-14
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2015-10-23
    • 2018-02-15
    相关资源
    最近更新 更多