Отключить клавиатуру в виде цифровой клавиатуры без добавления клавиши "Готово"
На клавиатуре с цифровой клавиатурой нет кнопки " Готово ". Я не хочу добавлять пользовательскую кнопку " Готово", но как мне закрыть клавиатуру?
2 ответа
Вы можете добавить UINavigationBar/UIToolBar с кнопкой " Готово" (UIBarButtonItem) и сделать textField / textView resignFirstResponder для действия кнопки " Готово ".
Вы можете добавить UINavigationBar/UIToolBar в качестве inputAccessoryView textField/textView.
textField.inputAccessoryView = aNavBarWithDoneButton;
Изменить: Доступность iOS (3.2 и более поздние версии)
Самое простое решение - добавить новую кнопку где-нибудь в вашем интерфейсе, которая вызывает resignFirstResponder
на ваше UITextField
(или что-то еще), когда постучал. Поместить это в панель инструментов на iPhone проблематично, потому что панели инструментов обычно находятся внизу экрана и скрыты клавиатурой.
Немного более сложное решение - поставить невидимое UIView
за всеми вашими другими элементами интерфейса. Любые касания, не обработанные вашим существующим пользовательским интерфейсом, перейдут в это новое представление, которое может вызвать resignFirstResponder
на вашем текстовом поле.
Если ни один из них не звучит привлекательно, возможно, вам следует расширить свой вопрос, включив в него тип поведения, который вы хотите.