Как узнать, является ли клавиатура Split или нормальной?

В моем приложении для iPad я отправляю уведомление о клавиатуре, которое добавит popover к определенной высоте над клавиатурой. Это нормально работает с обычной клавиатурой. Но тогда в iOS 5, если пользователь выбирает Split-клавиатуру, popover будет вести себя некорректно. Как я могу узнать, выбрал ли пользователь разделенную клавиатуру, чтобы я мог расположить высоту popover в соответствии с представленной клавиатурой?

Ответ 1

Дело не в том, чтобы переубедить это. Ничего важного не изменилось. Если клавиатура вставлена ​​в нижнюю часть экрана, вы получите уведомление "показать". Если он покинет пристыкованную позицию в нижней части экрана, вы получите уведомление "скрыть". Именно это произошло до iOS 5.

Единственное отличие состоит в том, что вместо того, чтобы покинуть пристыкованную позицию, потому что она перемещается за кадром, она может покинуть пристыкованную позицию, потому что пользователь отстегнул ее. Вы все равно получите "скрыть", чтобы вы могли переместить свой интерфейс обратно в базовое положение. Вам не нужно знать, что клавиатура теперь отстыкована (хотя вы можете узнать, что она не вне экрана от UIKeyboardDidChangeFrameNotification, если вы действительно этого хотите). Причина, по которой вам не нужно знать, заключается в том, что когда клавиатура отстыкована/разделена, пользователь может быть проактивным и перемещать клавиатуру, если она находится на пути к чему-то, что должно быть видно.

Таким образом, весь ваш старый код с iOS 5 продолжает работать нормально. Все это действительно очень умно.