UITextField - как использовать пользовательскую клавиатуру и отключить клавиатуру по умолчанию

Я использую UITextField, чтобы получить ввод для поля цены. Поскольку это по цене, я хотел сделать пользовательскую клавиатуру только для цифровой клавиатуры и десятичной кнопки. У меня есть настройка просмотра клавиатуры, однако я не знаю, как полностью отключить клавиатуру iphone по умолчанию. Любые идеи?


person tony.tc.leung    schedule 16.07.2009    source источник
comment
вы можете изменить вид ввода textFields просто как [textField setInputView: ‹customView›]   -  person Gokul    schedule 24.06.2014


Ответы (3)


Вы можете создать подкласс UITextField и переопределить canBecomeFirstResponder. Верните NO, и он никогда не поднимет клавиатуру. Однако вам нужно будет отвечать за обработку касаний, чтобы вы могли включать/отключать собственную клавиатуру. Это может повлиять на поведение вырезания/копирования/вставки, поэтому подумайте, действительно ли вы хотите это сделать.

person Ramin    schedule 16.07.2009
comment
спасибо за идею, я придумал альтернативное решение. Я сделал поле uitext и отключил взаимодействие с пользователем. Затем я создал невидимую пользовательскую кнопку поверх поля uitext, которая нацелена на функцию, запускающую клавиатуру. - person tony.tc.leung; 20.07.2009
comment
У меня есть дополнительный вопрос сейчас. Есть ли способ включить курсор даже после отключения взаимодействия с пользователем? - person tony.tc.leung; 20.07.2009

Это можно сделать в Интерфейсном Разработчике:

Цифровая клавиатура2 Цифровая клавиатура2

Выберите цифры и знаки препинания

person Luda    schedule 05.07.2012

person    schedule
comment
новая клавиатура с десятичной панелью, доступная в последних выпусках iOS, также может быть полезной. - person dwery; 21.10.2011