不使用表情符号键盘调用UIKeyboardWillChangeFrame通知

首先,我有一个UIViewController监听UIKeyboardWillShow通知,以调整键盘的屏幕。但是每次我改用表情符号键盘时,都不会调用该通知。

所以,我改为这样的UIKeyboardWillChangeFrame通知

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardChanged(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)

如果我只是通过点击键盘类型更改为表情符号,那似乎可以正常工作。

但是,如果我按住键盘类型进行选择(我的键盘使用多种语言)并选择表情符号键盘,则不会触发该通知。

有人以前有这样的东西吗?有什么建议?

回答:

这是iOS 11中的错误,但有一个

您可以收听语言模式更改:

NotificationCenter.default.addObserver(self, selector: #selector(inputModeDidChange(_:)), name: .UITextInputCurrentInputModeDidChange, object: nil)

并检查表情符号:

if([[UITextInputMode currentInputMode].primaryLanguage isEqualToString:@"emoji"]) // layout again

以上是 不使用表情符号键盘调用UIKeyboardWillChangeFrame通知 的全部内容, 来源链接: utcz.com/qa/411048.html

回到顶部