iOS 10 iPhone 7 键盘在收到通知时消失

Posted

技术标签:

【中文标题】iOS 10 iPhone 7 键盘在收到通知时消失【英文标题】:Ios 10 iPhone 7 Keyboard disappears when receiving notification 【发布时间】:2016-10-26 09:37:17 【问题描述】:

我在聊天视图控制器中有一个 UIExField。 当我在文本字段中编辑我的答案时,一切正常,除非我收到来自我的应用程序的推送通知。

此推送通知由我的控制器处理,并且 UIWindow 显示在视图控制器的顶部。但是键盘消失了..仅在我的 iPhone 7 和 ios 10 上。

例如,它在 iPhone 6 和 ios 9.3 上运行良好。

我猜它与 ios 10 和 UIWindow / UITextField 有关,但我不知道如何解决这个问题。

你有什么想法吗?

谢谢,

【问题讨论】:

【参考方案1】:

您可以通过实现来监听应用程序何时变为活动状态

func applicationDidBecomeActive(_: UIApplication)

在您的 appDelegate 中,或通过通知中心使用

NotificationCenter.default.addObserver(self, selector: #selector(appBecameActive), name: Notification.Name.UIApplicationDidBecomeActive, object: nil)

当用户关闭通知窗口时,您将收到此事件,然后您可以使用

再次激活文本字段
textfield.becomeFirstResponder()

恢复键盘。

【讨论】:

以上是关于iOS 10 iPhone 7 键盘在收到通知时消失的主要内容,如果未能解决你的问题,请参考以下文章

在苹果 iphone 上,点击通知会捕获啥事件?

推送通知 iphone(我的设备没有收到通知)

无法收到ios通知

phonegap build:没有收到 ios 推送通知

推送通知不适用于 iPhone 所有设备 (Xcode8) 版本

PushSharp 向 iOS 发送通知成功但未收到