Додаємо кнопку для UIKeybo  TypeNumberPad

Багато розробників стикалися з тим, що якщо в iOS для iPhone вибрати у UITextField тип UIKeybo^ TypeNumberPad, то зліва внизу буде порожнє місце замість кнопки.


У цьому типі клавіатури не працює властивість returnKceType і її можливо прибрати з екрану тільки повісивши обробник на дотик у порожньому місці (наприклад UIView)

Обережно з трафіком

Інтернеті можна знайти масу прикладів, як додати свою кнопку на таку клавіатуру, але у мене виникло завдання додати кнопку приховування на напівпрозору клавіатуру (UIKeybo  AppearanceAlert), щоб вийшов ось так ось вид:

Спочатку я планував описати як вирішив це завдання, але допилявши до універсального стану зрозумів, що описувати буде довго і плутано. У підсумку зробивши все як окремий клас, опишу як запустити.

Насамперед скачуємо сам клас.

У архіві будуть три файли і тека з демо проекту. Нам потрібні тільки ці три файли:

AMTextFieldNumberPad.h

AMTextFieldNumberPad.m

AMTextFieldNumberPad.bundle (у ньому зберігаються необхідні зображення)

Підключаємо їх до проекту.

Потім у потрібному контролері в хідері підключаємо клас:

У Interface Builder додаємо UITextField і прописуємо у нього клас

І робимо зв'язок між об'єктами

Ось, власне, і все.

Так само можна викликати програмно

Тепер розповім про можливості класу.

Клас підтримує звичайну і прозору клавіатуру

На кнопку можна додати свій текст:

Якщо текст не вказувати, тоді він підставиться автоматично з returnKceType:

Можна зробити кнопку з іконкою клавіатури (як в iPad):

Або ж вказати будь-яку свою:

Ну і підтримка горизонтальної орієнтації:

Я, природно, не претендую на ідеальне рішення, якщо хто знає кращі способи - буду дуже вдячний.

Так само прикладаю посилання на репозитарій

COM_SPPAGEBUILDER_NO_ITEMS_FOUND

logo