Отключить клавиатуру в виде цифровой клавиатуры без добавления клавиши "Готово"

На клавиатуре с цифровой клавиатурой нет кнопки " Готово ". Я не хочу добавлять пользовательскую кнопку " Готово", но как мне закрыть клавиатуру?

2 ответа

Вы можете добавить UINavigationBar/UIToolBar с кнопкой " Готово" (UIBarButtonItem) и сделать textField / textView resignFirstResponder для действия кнопки " Готово ".

Вы можете добавить UINavigationBar/UIToolBar в качестве inputAccessoryView textField/textView.

textField.inputAccessoryView = aNavBarWithDoneButton;

Изменить: Доступность iOS (3.2 и более поздние версии)

Самое простое решение - добавить новую кнопку где-нибудь в вашем интерфейсе, которая вызывает resignFirstResponder на ваше UITextField (или что-то еще), когда постучал. Поместить это в панель инструментов на iPhone проблематично, потому что панели инструментов обычно находятся внизу экрана и скрыты клавиатурой.

Немного более сложное решение - поставить невидимое UIView за всеми вашими другими элементами интерфейса. Любые касания, не обработанные вашим существующим пользовательским интерфейсом, перейдут в это новое представление, которое может вызвать resignFirstResponder на вашем текстовом поле.

Если ни один из них не звучит привлекательно, возможно, вам следует расширить свой вопрос, включив в него тип поведения, который вы хотите.

Другие вопросы по тегам