(iOS) Как получить уведомление при нажатии кнопки «Назад» на клавиатуре? - PullRequest
0 голосов
/ 13 октября 2011

Я пытаюсь определить, когда нажата кнопка возврата на клавиатуре.Когда в текстовом поле есть текст, это легко.Я просто использую метод делегата - (BOOL) textField: (UITextField *) aTextField shouldChangeCharactersInRange: (NSRange) диапазон replaceString: (NSString *) строка.Проблема в том, что когда текстовое поле пусто и нажата кнопка «Назад», этот метод не вызывается.

Кто-нибудь знает, как получать уведомления, даже если текстовое поле пусто?

Ответы [ 3 ]

3 голосов
/ 18 октября 2011

Не могли бы вы по умолчанию в одном месте пустое поле, когда вы начинаете редактирование (а поле пустое), чтобы возврат стал обычным событием? Вы можете удалить пробел при выходе из поля и / или набрать первый нормальный символ. Немного взлома, но я не думаю, что вы доберетесь до этого другим способом.

0 голосов
/ 18 октября 2011

В методе делегата:

(BOOL) textView: (UITextView *) textView shouldChangeTextInRange: (NSRange) диапазон replaceText: (NSString *) строка

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

0 голосов
/ 13 октября 2011

Проверьте этот ответ ..

Получение событий клавиатуры iPhone

В вашей функции keyPressed проверьте, имеет ли значение текстового поля какое-либо содержимое;

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