Как записать код или текст ключевой записи в iOS? - PullRequest
0 голосов
/ 13 апреля 2020

Я не знаком с iOS и Objective- C, и мне нужно найти способ зафиксировать ввод ключа пользователя в поле ввода.

Я ищу что-то вроде Android * onKeyUp и onKeyDown, где KeyEvent.Callback.onKeyDown и onKeyUp обеспечивает int keyCode и KeyEvent event.

или что-то вроде keydown и keyup прослушиватели событий в веб-разработке , где обратный вызов получает объект event, который включает event.code и event.keyCode.

Какой самый простой способ go об этом в iOS?

1 Ответ

2 голосов
/ 13 апреля 2020

Существует два основных вида, используемых для захвата ввода текста на iOS: UITextField и UITextView. У каждого есть соответствующий делегат для уведомления об изменениях ввода.

UITextFieldDelegate

UITextField имеет делегата, который соответствует UITextFieldDelegate, который можно использовать для получения уведомлений об изменениях ввода. В частности, вы захотите реализовать этот метод:

func textField(_:shouldChangeCharactersIn:replacementString:) -> Bool 

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

UITextViewDelegate

UITextView делегат соответствует UITextViewDelegate. Вы захотите реализовать этот метод:

func textView(_:shouldChangeTextIn:replacementText:) -> Bool

Это должно работать так же, как метод для UITextFieldDelegate.

Если вы заинтересованы, просто знайте, что текст изменился но вам не нужна подробная информация о точном изменении, вы можете реализовать этот метод:

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