在我的iPad应用程序中,我发布键盘通知,将弹出窗口带到键盘上方的某个高度。这适用于普通键盘。但是在iOS 5中,如果用户选择Split键盘,则弹出窗口的行为将不正确。我如何知道用户是否选择了分离键盘,以便我可以根据所呈现的键盘排列弹出高度?
在我的iPad应用程序中,我发布键盘通知,将弹出窗口带到键盘上方的某个高度。这适用于普通键盘。但是在iOS 5中,如果用户选择Split键盘,则弹出窗口的行为将不正确。我如何知道用户是否选择了分离键盘,以便我可以根据所呈现的键盘排列弹出高度?
事情不是要过度思考这一点。没有任何重要性发生了变化。如果键盘进入屏幕底部的停靠位置,您将收到“显示”通知。如果它离开屏幕底部的停靠位置,您将收到“隐藏”通知。这正是iOS 5之前发生的事情。
唯一的区别是,由于移动到屏幕外而不是离开停靠位置,它可能会离开停靠位置,因为用户将其取消停靠。你仍然会得到一个“隐藏”,所以你可以将你的界面移回其基本位置。你不需要知道键盘现在是未对接的(尽管如果你真的想要,你可以发现它不是UIKeyboardDidChangeFrameNotification的屏幕外)。您不需要知道的原因是当键盘未对接/拆分时,用户可以主动并移动键盘,如果它是在需要看到的东西的方式。
因此,iOS 5之前的所有旧代码继续正常工作。这一切都非常聪明。