Обнаружение, набрал ли пользователь UITextField - PullRequest
2 голосов
/ 15 июля 2011

Я знаю, что если вы используете следующую строку кода, вы можете определить, что пользователь набрал в окне ТЕКСТ.

if ([[textView text] isEqualToString:@"")

Я хочу определить, набрал ли пользователь что-либо в тексте.ПОЛЕ, и это не работает с текстовыми полями.Что я должен изменить?Спасибо за вашу помощь!

Ответы [ 3 ]

11 голосов
/ 15 июля 2011

UITextFieldDelegate является предпочтительным способом выяснить это.

- (void)textFieldDidBeginEditing:(UITextField *)textField - это только скажет вам, что оно стало первым полем респондента / ключа, это не гарантируетчто пользователь изменил значение

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string - этот метод будет сообщать вам, когда пользователь нажимает клавишу для изменения текста, «вставка» приведет к тому, что в строке будет несколько символов, на одну позицию больше пробелаили удаление выбора приведет к тому, что строка станет пустой,…

- (void)textFieldDidEndEditing:(UITextField *)textField - это обычное место для сравнения значения в поле со значением в модели, чтобы увидеть, произошло ли редактирование,это будет вызвано, только когда поле освободит статус «ключа», обратите внимание, что пользователь может нажать кнопку, чтобы заставить весь вид исчезнуть до того, как он будет вызван, что часто делает его полезным для отслеживания, становится ли любое интересующее вас поле«ключевое поле» (см. первый метод)

может быть полезно установить точки останова в соответствующих реализациях, чтобы ознакомиться с их порядком вызовов / логикой

1 голос
/ 15 июля 2011

Вы можете извлекать содержимое UITextField так же, как и UITextView, используя свойство «text».Код ниже, если текстовое поле не пустое.

  if (![someTextField.text isEqualToString:@""])
  {
        NSLog(@"someTextField is not empty");
  }

Вы также можете использовать делегат UITextField для определения, когда пользователь начинает печатать, прекращает печатать и т. Д. Более подробная информация об этом доступна в документации.*

Наконец, вот ссылка на документы UITextField.https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/doc/uid/TP40006888

0 голосов
/ 15 июля 2011

вы можете проверить длину текста вместо содержимого

if ([[textView text] length]==0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...