UIKeyboardWillShowNotification未在iOS 5中调用未对接的键盘

tit*_*coy 13 uikeyboard ios5

我发现当出现未对接/分离的键盘时,UIKeyboardWillShowNotificationUIKeyboardDidShowNotification没有生成iOS 5.例如,点击文本字段以显示键盘(生成通知),取消键盘,点击文本字段以关闭键盘,再次点击文本字段以显示未停靠的键盘(生成通知) .

有没有办法检测键盘何时出现,无论它是否已停靠?

smp*_*kes 10

你需要观察UIKeyboardWillChangeFrameNotificationUIKeyboardDidChangeFrameNotification不是.当你得到它们时,你可以查看UIKeyboardFrameEndUserInfoKey(如果它存在,它并不总是在拖动键盘时)的值,并查看该矩形是否与窗口相交,以查看键盘现在是打开还是关闭.


mat*_*att 5

如果键盘显示为未对接/拆分,则无需检测它.未对接/分离键盘的整个要点是用户可以自由移动它,如果它在路上.

  • 显然我有理由想要发现这个事件,或者我不会问这个问题. (12认同)
  • 是的 - 我只是试图逆向设计Apple的想法.他们所做的是保持关于键盘停靠位置的"显示"和"隐藏"通知的行为.因此,您可以很好地使用旧代码,因为如果键盘未对接,用户可以移动它.或者,您可以切换到"UIKeyboardDidChangeFrameNotification"(或者只是将其添加到通知库中). (4认同)