iPhone X模拟器不会收到UIKeyboardWillChangeFrame通知

时间:2017-11-15 07:07:13

标签: ios notifications keyboard emoji

嗨,这是我在SO的第一篇文章。

我正在使用.UIKeyboardWillChangeFrame通知,以获取键盘的动态高度并相应地更新其他视图。

但是当我在iPhone X模拟器中切换到EMOJI或中文手写键盘时,UIKeyboardWillChangeFrame通知不会被调用。

  • 英文键盘---> EMOJI键盘(X,未调用)
  • EMOJI键盘--->英文键盘(O,工作正常)

它在iPhone X以外的模拟器中运行得很好(例如iPhone 5,6,再加......)。

添加观察者

NotificationCenter.default.addObserver(self,
                                           selector : #selector(self.keyboardWillChangeFrame(withNotification:)),
                                           name : .UIKeyboardWillChangeFrame,
                                           object : nil)

选择器方法

@objc func keyboardFrameWillChange(withNotification notification : Notification)
{
    if let size = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue
    {
        print("will display EMOJI with height : \(size.height)")
    }
} 

仅在iPhone X模拟器中测试,而不在真实设备中测试(很难获得一个T_T)

XCode版本:最新9.1(9B55) 模拟器版本:iPhone X(iOS 11.0.1),iPhone X(iOS 11.1)

0 个答案:

没有答案