Подтвердить что ты не робот

Кнопка iPad "отменить клавиатуру" (внизу справа), как я могу определить, когда это происходит? Какая функция говорит мне, что она нажата?

У меня есть приложение ipad, которое, когда вы находитесь в ландшафтном представлении, будет двигаться вверх, когда клавиатура будет введена. Когда вы нажимаете на клавиатуре, вызывается textFieldShouldReturn и textFieldShouldEndEditing, в этом случае я перемещаю вид вниз in shouldEndEditing.

Если пользователь нажимает кнопку "Отключить клавиатуру", клавиатура делает poof, но представление все еще остается плавающим, когда я его перемещал.

Мне нужно знать, как или какая функция вызывается при нажатии этой кнопки, поэтому я могу перенаправить функцию на textFieldShouldEndEditing.

Спасибо!

4b9b3361

Ответ 2

Когда нажата кнопка "нижняя клавиатура", метод делегирования текстового поля:

-(BOOL)textFieldShouldReturn:(UITextField *)textField

Не будет вызываться.

Когда нажимаются "нижняя клавиатура" или "кнопка возврата",:

-(void)textFieldDidEndEditing:(UITextField *)textField

Будет вызываться.

Я использую переменную NSString *lowerKeyboardButtonPressed, первоначально установленную на @"", которую я установил в @"N" в методе textfieldShouldReturn... затем в методе textFieldDidEndEditing я проверяю, установлено ли оно на @"N"... тогда я знаю, был ли нажат клавиша возврата или нижняя клавиша клавиатуры. Последняя строка в моем методе textFieldDidEndEditing устанавливает переменную обратно в @"".

Ответ 3

Если вы нажмете кнопку увольнения клавиатуры, и у вас установлена ​​аппаратная клавиатура, тогда willHide вызывается только в том случае, если у вас нет вида вспомогательного входа. В этот момент вам нужно также отрегулировать в willShow (что будет иметь отрицательную разницу между клавишами UIKeyboardFrameBeginUserInfoKey и UIKeyboardFrameEndUserInfoKey).