所有
我正试图在iPad,iOS5上捕捉键盘分割事件。我已经注册了所有键盘通知的方法,这是我分割键盘时的通知(按照外观顺序):
UIKeyboardWillHideNotification UIKeyboardWillChangeFrameNotification UIKeyboardDidHideNotification UIKeyboardDidChangeFrameNotification UIKeyboardDidChangeFrameNotification
所以,没有WillShow或DidShow通知,但键盘仍在屏幕上。
两个随之而来的UIKeyboardDidChangeFrameNotification会有所帮助(我可以包含键盘两个部分的位置),但是,唉,UIKeyboardFrameEndUserInfoKey键包含相同的值(origin(352; 0),size(316; 1024))对于这两个通知。
所以问题是:如何在iPad,iOS5中捕捉分裂键盘事件?
答案 0 :(得分:4)
当键盘停靠时,将会引发UIKeyboardWillShowNotification
。如果键盘被拆分或取消停靠,则不会引发键盘通知。
如果键盘已停靠,则会引发UIKeyboardWillShowNotification
,并且以下情况属实:
[[[notification userInfo] valueForKey:@"UIKeyboardFrameChangedByUserInteraction"] intValue] == 1
如果键盘未对接,则会引发UIKeyboardWillHideNotification
,上述声明也将为真。
使用此信息足以让我编写用户界面代码。
注意:这可能违反了Apple的指导方针,我不确定。