iOS SDK: Отключить клавиатуру при нажатии кнопки? - PullRequest
5 голосов
/ 15 июня 2011

Как я могу отклонить клавиатуру, когда пользователь нажимает кнопку? Краткий пример для лучшего понимания: пользователь редактирует некоторый текст в некоторых текстовых полях, и в конце он не нажимает «Готово» или что-то еще на клавиатуре, но нажимает кнопку «Сохранить», пока клавиатура все еще отображается. , Итак, как теперь я могу отклонить клавиатуру?

Thx. С уважением, Даниэль

Ответы [ 4 ]

6 голосов
/ 27 июня 2013

Вы также можете вызвать [view endEditing:YES] в любом представлении над текстовым полем в иерархии.Это полезно, если вы не уверены, какое текстовое поле имеет статус первого респондента.Также, опционально, делегат текстового поля может остановить действие (возвращая NO из shouldEndEditing :), что хорошо, если вы используете делегата для проверки полей.

4 голосов
/ 15 июня 2011

в кнопке действия записи,

if([textField isFirstResponder]){
  [textField resignFirstResponder];
}

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

1 голос
/ 21 июля 2016

Если у вас есть несколько текстовых полей и вы не знаете, какое из них является первым респондентом (или у вас просто нет доступа к текстовым полям, откуда вы пишете этот код), вы можете вызвать endEditing: в родительском представлении, содержащемтекстовые поля.

В Swift, в связанном контроллере представления, добавьте эту строку в функцию кнопки:

self.view endEditing(true)
0 голосов
/ 05 декабря 2015

В дополнение к ответу SriPriya, пожалуйста, здесь есть версия в стиле Swift 2:

if numberTextField.isFirstResponder() {
    numberTextField.resignFirstResponder()
}

Пожалуйста, наслаждайтесь ...

...