keyboard

Клавиатура с UIToolBar'ом

Много кто видел как в некоторых приложениях вместе с клавиатурой выезжает UIToolBar – примерно так, как это показано на рисунке.

Есть несколько вариантов так сделать. Первый, и самый “простой” – это позиционировать UIToolBar в нужное место до/или после того, как началось редактирование, и клавиатура должна выехать. Даже для начинающего программиста эта задача не составит особого труда.

Программист более продвинутый, который любит и умеет читать документацию или искать, без особого труда найдет , что можно подписаться на глобальные события UIKeyboardWillShowNotification и UIKeyboardWillHideNotification, чтобы вовремя подставлять/убирать UIToolBar.

После того, как нам не понравится (а нам  не понравится) то, что UIToolBar “прыгает” вместо того, чтобы плавно уезжать вместе с клавиатурой, добавим немного анимации. После таких манипуляций должен получиться примерно следующий код:

 

Иногда бывает необходимо узнавать о том, когда клавиатура собирается появиться или спрятаться (например, когда текстовые поля находятся в таблице и приходится уменьшать высоту таблицы так, чтобы она вся была над клавиатурой). Для этого есть 4 типа уведомлений с такими именами:

  • UIKeyboardWillShowNotification – клавиатура должна появится,
  • UIKeyboardDidShowNotification – клавиатура появилась,
  • UIKeyboardWillHideNotification – клавиатура должна спрятаться,
  • UIKeyboardDidHideNotification – клавиатура наконец спряталась.

Так вот…