Как получить фактическую строку, как она отображается в UITextField, пока пользователь печатает? - PullRequest
2 голосов
/ 27 сентября 2010

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

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

Этот метод не обеспечивает фактическую строку, как она видна в textField. Он вызывается до , поэтому текстовое свойство в UITextField обновляет новый текст. string - это только то, что изменилось.

Полагаю, единственный способ выяснить это - собрать текст вручную из этой информации. Как бы я пошел по этому поводу? Должен ли я придумать решение или оно уже есть?

1 Ответ

1 голос
/ 27 сентября 2010

Возможно, вам не нужен метод делегата.

Если вы используете IB, вы можете создать IBAction следующим образом

-(IBAction)myTextFieldDidChange:(id)sender{ <br> NSString*aString = myTextField.text;<br> }</p> <p>

просто подключите эту функцию к соответствующему UITextField (который в данном случае myTextField) для событий ValueChanged (UIControlEventValueChanged)

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