Как точно знать, что пользователь разделил клавиатуру в iOS5 на iPad - PullRequest
1 голос
/ 21 декабря 2011

все.

Я пытаюсь отловить событие разделения клавиатуры на iPad, iOS5. Я зарегистрировал метод для всех уведомлений клавиатуры и вот что я получаю, когда делю клавиатуру (в порядке появления):

UIKeyboardWillHideNotification UIKeyboardWillChangeFrameNotification UIKeyboardDidHideNotification UIKeyboardDidChangeFrameNotification UIKeyboardDidChangeFrameNotification

Итак, уведомлений WillShow или DidShow нет, но клавиатура все еще на экране.

Два последовательных UIKeyboardDidChangeFrameNotification помогли бы (я мог бы содержать позиции обеих частей клавиатуры), но, увы, клавиша UIKeyboardFrameEndUserInfoKey содержит то же значение (origin (352; 0), size (316; 1024)) для обоих уведомлений.

Итак, вопрос: как отловить событие разделения клавиатуры в iPad, iOS5?

1 Ответ

4 голосов
/ 09 января 2012

Когда клавиатура установлена, UIKeyboardWillShowNotification будет поднят.Если клавиатура разделена или отсоединена, уведомления клавиатуры не выдаются.

Если клавиатура установлена ​​в док-станцию, будет повышено значение UIKeyboardWillShowNotification, и будет выполнено следующее:

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

Есликлавиатура отсоединена, UIKeyboardWillHideNotification будет поднята, и приведенное выше утверждение также будет верным.

Использование этой информации было достаточным для кодирования моего пользовательского интерфейса.

Примечание: этовозможно, это нарушение правил Apple, я не уверен.

...