在开发我的iPad应用程序的最新功能期间,我意识到新的iOS5键盘对接/拆分行为导致了巨大的问题.我使用inputAccessoryView作为键盘,其上有一个文本字段,类似于Safari的页面搜索功能.我在可滚动的UIWebView上显示键盘,所以我的麻烦部分来自于键盘停靠时缩小的UIWebview,并且在取消停靠时具有(大部分)全屏webview.
我遇到的主要问题是新的UIKeyboardWillChangeFrameNotification和UIKeyboardDidChangeFrameNotification通知最多只是从之前的API退一步,而且垃圾数据几乎无法理解键盘在很多情况下的确在做什么.
是否可以识别以下任何键盘行为而无需仔细检查通知中返回的开始/结束帧?
键盘Undocks
键盘码头
键盘拆分/非拆分
未锁定的键盘显示
Undocked键盘隐藏
键盘未对接时视图旋转
我想出了一些抽象来识别停靠或屏幕外的帧,但即便如此,我的代码变得非常难以管理.如果您找到了更好的方法,请回答或评论.我希望我在这里遗漏一些东西.谢谢.