我正在使用
UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
来处理键盘框架的更改。当用户打开、隐藏键盘或通过按下“地球”键切换键盘时,一切都正常 - 方法被正确调用。但如果用户在地球图标上长按并选择比当前键盘更高的键盘(例如,英文键盘切换到Emoji键盘),方法UIKeyboardWillShowNotification
不会被调用。因此新键盘会覆盖40-50像素的UI。
这只在从低版本切换到高版本的键盘时发生,而且仅在iOS 11上发生。
如何正确处理iOS 11中的键盘切换?
更新:在模拟器中的Apple通讯录应用程序(创建或编辑联系人时)和日历应用程序(创建新事件时)中发现了相同的问题(没有实际设备上的iOS 11)。