如何确定用户在iPad上的iOS5中拆分了键盘

时间:2011-12-21 09:48:44

标签: ios ipad keyboard ios5 split

所有

我正试图在iPad,iOS5上捕捉键盘分割事件。我已经注册了所有键盘通知的方法,这是我分割键盘时的通知(按照外观顺序):

UIKeyboardWillHideNotification UIKeyboardWillChangeFrameNotification UIKeyboardDidHideNotification UIKeyboardDidChangeFrameNotification UIKeyboardDidChangeFrameNotification

所以,没有WillShow或DidShow通知,但键盘仍在屏幕上。

两个随之而来的UIKeyboardDidChangeFrameNotification会有所帮助(我可以包含键盘两个部分的位置),但是,唉,UIKeyboardFrameEndUserInfoKey键包含相同的值(origin(352; 0),size(316; 1024))对于这两个通知。

所以问题是:如何在iPad,iOS5中捕捉分裂键盘事件?

1 个答案:

答案 0 :(得分:4)

当键盘停靠时,将会引发UIKeyboardWillShowNotification。如果键盘被拆分或取消停靠,则不会引发键盘通知。

如果键盘已停靠,则会引发UIKeyboardWillShowNotification,并且以下情况属实:

[[[notification userInfo] valueForKey:@"UIKeyboardFrameChangedByUserInteraction"] intValue] == 1

如果键盘未对接,则会引发UIKeyboardWillHideNotification,上述声明也将为真。

使用此信息足以让我编写用户界面代码。

注意:这可能违反了Apple的指导方针,我不确定。