Многие разработчики сталкивались с тем, что если в iOS для iPhone выбрать у UITextField тип UIKeyboardTypeNumberPad, то слева внизу будет пустое место вместо кнопки.
У этого типа клавиатуры не работает свойство returnKeyType и её возможно убрать с экрана только повесив обработчик на касание в пустом месте (например UIView)
Осторожно трафик
Интернете можно найти массу примеров, как добавить свою кнопку на такую клавиатуру, но у меня возникла задача добавить кнопку скрытия на полупрозрачную клавиатуру (UIKeyboardAppearanceAlert), чтобы получился вот так вот вид:

Вначале я планировал описать как решил эту задачу, но допилив до универсального состояния понял, что описывать будет долго и путано. В итоге сделав всё как отдельный класс, опишу как запустить.
Первым делом скачиваем сам класс.
В архиве будут три файла и папка с демо проектом. Нам нужны только эти три файла:
AMTextFieldNumberPad.h
AMTextFieldNumberPad.m
AMTextFieldNumberPad.bundle (в нем хранятся необходимые изображения)
Подключаем их к проекту.
Потом в нужном контролере в хидере подключаем класс:

В Interface Builder добавляем UITextField и прописываем у него класс

И делаем связь между объектами

Вот, собственно, и всё.
Так же можно вызывать программно

Теперь расскажу о возможностях класса.
Класс поддерживает обычную и прозрачную клавиатуру
На кнопку можно добавить свой текст:

Если текст не указывать, тогда он подставится автоматически из returnKeyType:

Можно сделать кнопку с иконкой клавиатуры (как в iPad):

Или же указать любую свою:

Ну и поддержка горизонтальной ориентации:

Я, естественно, не претендую на идеальное решение, если кто знает лучшие способы — буду очень признателен.
Так же прикладываю ссылку на репозиторий
У этого типа клавиатуры не работает свойство returnKeyType и её возможно убрать с экрана только повесив обработчик на касание в пустом месте (например UIView)
Осторожно трафик
Интернете можно найти массу примеров, как добавить свою кнопку на такую клавиатуру, но у меня возникла задача добавить кнопку скрытия на полупрозрачную клавиатуру (UIKeyboardAppearanceAlert), чтобы получился вот так вот вид:

Вначале я планировал описать как решил эту задачу, но допилив до универсального состояния понял, что описывать будет долго и путано. В итоге сделав всё как отдельный класс, опишу как запустить.
Первым делом скачиваем сам класс.
В архиве будут три файла и папка с демо проектом. Нам нужны только эти три файла:
AMTextFieldNumberPad.h
AMTextFieldNumberPad.m
AMTextFieldNumberPad.bundle (в нем хранятся необходимые изображения)
Подключаем их к проекту.
Потом в нужном контролере в хидере подключаем класс:

В Interface Builder добавляем UITextField и прописываем у него класс

И делаем связь между объектами

Вот, собственно, и всё.
Так же можно вызывать программно

Теперь расскажу о возможностях класса.
Класс поддерживает обычную и прозрачную клавиатуру
На кнопку можно добавить свой текст:

Если текст не указывать, тогда он подставится автоматически из returnKeyType:

Можно сделать кнопку с иконкой клавиатуры (как в iPad):

Или же указать любую свою:

Ну и поддержка горизонтальной ориентации:

Я, естественно, не претендую на идеальное решение, если кто знает лучшие способы — буду очень признателен.
Так же прикладываю ссылку на репозиторий