【发布时间】:2014-12-04 23:49:12
【问题描述】:
在 iOS 8+ 中,我注意到如果您在呈现的视图控制器中有一个当前为 firstResponder 的文本字段,则当视图控制器被解除时,键盘会在被解除之前挂起大约 1 秒钟。
iOS 8.0 和 8.1 以及 not 7.1 都会出现这种情况。
有什么想法吗?
【问题讨论】:
在 iOS 8+ 中,我注意到如果您在呈现的视图控制器中有一个当前为 firstResponder 的文本字段,则当视图控制器被解除时,键盘会在被解除之前挂起大约 1 秒钟。
iOS 8.0 和 8.1 以及 not 7.1 都会出现这种情况。
有什么想法吗?
【问题讨论】:
据此,在 iOS 8 中,视图似乎在真正离开屏幕之前不会放弃第一响应者状态。
http://prod.lists.apple.com/archives/cocoa-dev/2014/Sep/msg00391.html
我们的解决方法是在-viewWillDisappear 中调用[self.view endEditing:YES]。
【讨论】:
适用于 Swift 3/4
override func viewWillDisappear(_ animated: Bool) {
self.view.endEditing(true)
}
此外,如果它没有辞职,请尝试在您尝试结束输入的文本字段上调用 resignFirstResponder。
override func viewWillDisappear(_ animated: Bool) {
textField.resignFirstResponder()
}
【讨论】:
super.viewWillDisappear(animated)打电话。