我发现在iOS 5中出现了一个脱离/分离的键盘时,不会生成UIKeyboardWillShowNotification和UIKeyboardDidShowNotification.例如,点击一个文本字段来显示键盘(通知生成),取消键入键盘,点击文本字段关闭键盘,再次点击文本字段以显示未对接的键盘(不生成通知).
有没有办法检测键盘出现的时间,无论是否停靠?
解决方法
您需要观察UIKeyboardWillChangeFrameNotification和UIKeyboardDidChangeFrameNotification.当你得到它们时,你可以看看UIKeyboardFrameEndUserInfoKey的值(如果它存在的话,并不总是拖动键盘),看看这个rect是否与窗口相交,看看键盘现在是或是在屏幕上.