Ответ 1
Вы можете прослушать скрытие клавиатуры уведомление UIKeyboardWillHideNotification.
Пример кода здесь http://developer.apple.com/iphone/library/samplecode/KeyboardAccessory/Listings/Classes_ViewController_m.html
У меня есть приложение ipad, которое, когда вы находитесь в ландшафтном представлении, будет двигаться вверх, когда клавиатура будет введена. Когда вы нажимаете на клавиатуре, вызывается textFieldShouldReturn и textFieldShouldEndEditing, в этом случае я перемещаю вид вниз in shouldEndEditing.
Если пользователь нажимает кнопку "Отключить клавиатуру", клавиатура делает poof, но представление все еще остается плавающим, когда я его перемещал.
Мне нужно знать, как или какая функция вызывается при нажатии этой кнопки, поэтому я могу перенаправить функцию на textFieldShouldEndEditing.
Спасибо!
Вы можете прослушать скрытие клавиатуры уведомление UIKeyboardWillHideNotification.
Пример кода здесь http://developer.apple.com/iphone/library/samplecode/KeyboardAccessory/Listings/Classes_ViewController_m.html
Когда нажата кнопка "нижняя клавиатура", метод делегирования текстового поля:
-(BOOL)textFieldShouldReturn:(UITextField *)textField
Не будет вызываться.
Когда нажимаются "нижняя клавиатура" или "кнопка возврата",:
-(void)textFieldDidEndEditing:(UITextField *)textField
Будет вызываться.
Я использую переменную NSString *lowerKeyboardButtonPressed
, первоначально установленную на @""
, которую я установил в @"N"
в методе textfieldShouldReturn
... затем в методе textFieldDidEndEditing
я проверяю, установлено ли оно на @"N"
... тогда я знаю, был ли нажат клавиша возврата или нижняя клавиша клавиатуры. Последняя строка в моем методе textFieldDidEndEditing
устанавливает переменную обратно в @""
.
Если вы нажмете кнопку увольнения клавиатуры, и у вас установлена аппаратная клавиатура, тогда willHide
вызывается только в том случае, если у вас нет вида вспомогательного входа. В этот момент вам нужно также отрегулировать в willShow
(что будет иметь отрицательную разницу между клавишами UIKeyboardFrameBeginUserInfoKey
и UIKeyboardFrameEndUserInfoKey
).