Обработать нажатой клавишу «Готово» на Iphone - PullRequest
12 голосов
/ 26 июня 2010

Я перемещаю свой вид при нажатии текстового поля, чтобы получить правильный вид при появлении клавиатуры.Теперь, когда нажата кнопка «Готово», я бы хотел вернуть вид в исходное состояние.Как мне обработать действие, когда нажата кнопка готовой клавиатуры?

Ответы [ 4 ]

21 голосов
/ 26 июня 2010

Правильный способ сделать это - соблюдать уведомления UIKeyboardDidShowNotification и UIKeyboardDidHideNotification, как описано в Документация Apple .

Если вы хотите знать, когда DoneНажата кнопка, введите

- (BOOL)textFieldShouldReturn:(UITextField *)textField

В вашем делегате.Он должен вызываться при нажатии кнопки возврата.Подробнее см. Документация по API .

11 голосов
/ 26 июня 2010

Создайте IBAction и подключите его к методу didEndOnExit текстового поля. Затем в рамках реализации этого метода вы должны указать [yourTextFieldOutlet resignFirstResponder];, что приведет к деактивации текстового поля.

4 голосов
/ 24 марта 2012

@ freespace все правильно, это все, что вам нужно сделать.

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    return [textField resignFirstResponder];
}

Нажмите кнопку «Готово» и пуф, клавиатура исчезла.

0 голосов
/ 30 ноября 2017

Если вы просто хотите узнать, что нажата кнопка «Готово», вы можете попросить сообщить об этом событии управления:

[textField addTarget:self
              action:@selector(donePressed)
    forControlEvents:UIControlEventEditingDidEndOnExit];

Это кодовая версия IB didEndOnExit.

...