问题 iOS 8键盘在解除模态视图控制器后解除延迟


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

这适用于iOS 8.0和8.1以及  7.1。

任何想法为什么会这样?


4973
2017-12-04 23:49


起源

我也看到了。 - brbgyn


答案:


根据这个,在iOS 8中似乎是 视图不会在第一响应者状态之前退出,直到它实际上在屏幕外

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

我们的解决方法是致电 [self.view endEditing:YES] 在 -viewWillDisappear


16
2017-12-22 21:54



当我尝试这个时,键盘开始消失,但是在视图控制器出于某种原因解散之前,它会立即跳回来... - ryanthon
你能分享你的代码吗? - micap
谢谢你解决这个bug - malhal
仍然在iOS 9中发生 - view.endEditing(true) - DogCoffee


适用于Swift 3/4

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

如果它没有辞职,请尝试打电话 resignFirstResponder 在您尝试结束输入的文本字段上。

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

0
2018-03-30 20:44



别忘了打电话 super.viewWillDisappear(animated)。 - Tim Vermeulen