模式视图控制器关闭后iOS 8键盘关闭延迟
Posted
技术标签:
【中文标题】模式视图控制器关闭后iOS 8键盘关闭延迟【英文标题】:iOS 8 Keyboard Dismissed delay after modal view controller is dismissed 【发布时间】:2014-12-04 23:49:12 【问题描述】:在 ios 8+ 中,我注意到如果您在呈现的视图控制器中有一个当前为 firstResponder
的文本字段,则当视图控制器被解除时,键盘会在被解除之前挂起大约 1 秒钟。
iOS 8.0 和 8.1 以及 not 7.1 都会出现这种情况。
有什么想法吗?
【问题讨论】:
【参考方案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 将此添加到他的答案中,它将得到我的支持。以上是关于模式视图控制器关闭后iOS 8键盘关闭延迟的主要内容,如果未能解决你的问题,请参考以下文章
iOS 8 – 在设置关键窗口或关闭并立即呈现另一个视图控制器后快速呈现视图控制器时出现故障
关闭模式视图控制器后如何正确对齐 rightBarButtonItem?