Tah*_*ine 25 uikeyboard ipad ios ios5
在开发我的iPad应用程序的最新功能期间,我意识到新的iOS5键盘对接/拆分行为导致了巨大的问题.我使用inputAccessoryView作为键盘,其上有一个文本字段,类似于Safari的页面搜索功能.我在可滚动的UIWebView上显示键盘,所以我的麻烦部分来自于键盘停靠时缩小的UIWebview,并且在取消停靠时具有(大部分)全屏webview.
我遇到的主要问题是新的UIKeyboardWillChangeFrameNotification和UIKeyboardDidChangeFrameNotification通知最多只是从之前的API退一步,而且垃圾数据几乎无法理解键盘在很多情况下的确在做什么.
是否可以识别以下任何键盘行为而无需仔细检查通知中返回的开始/结束帧?
我想出了一些抽象来识别停靠或屏幕外的帧,但即便如此,我的代码变得非常难以管理.如果您找到了更好的方法,请回答或评论.我希望我在这里遗漏一些东西.谢谢.
问题是不要过度考虑这一点。任何重要的事情都没有改变。如果键盘进入屏幕底部的停靠位置,您将收到“显示”通知。如果它离开屏幕底部的停靠位置,您将收到“隐藏”通知。这正是 iOS 5 之前发生的事情。
唯一的区别是,它不是因为它移出屏幕而离开停靠位置,而是因为用户取消停靠而离开停靠位置。您仍然会得到“隐藏”,因此您可以将界面移回其基本位置。您不需要知道键盘现在已断开连接(尽管您可以通过 UIKeyboardDidChangeFrameNotification 发现它不在屏幕外,如果您真的想要的话)。您不需要知道的原因是,当键盘脱离/拆分时,如果键盘挡住了需要看到的东西,用户可以主动移动键盘。
因此,您在 iOS 5 之前的所有旧代码都可以继续正常工作。这一切真的很聪明......
| 归档时间: |
|
| 查看次数: |
3166 次 |
| 最近记录: |