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