Как я узнаю, что текст UITextField был изменен пользователем - PullRequest
0 голосов
/ 09 августа 2011

Я работаю над проектом для iPhone iOS 4 и Xcode 4.

Есть способ узнать, был ли текст UITextField изменен пользователем?

Например, у меня есть 2 UITextField, textFieldA и textFieldB, и предположим, что textField содержит некоторый текст как «abc».

Пользователь сначала коснется textFieldA (клавиатура открывается), а затем - textFieldB. Как я могу узнать, был ли текст в textFieldA изменен пользователем?

Спасибо.

Ответы [ 4 ]

5 голосов
/ 09 августа 2011

Как насчет: Сначала подпишите делегат текстового поля в вашем заголовочном файле с помощью:
<UITextFieldDelegate>

Затем где-нибудь в вашем файле реализации (.m) вы можете добавить: myTextField.delegate = self;

Теперь вы можете получить доступ к методам делегата для текстовых полей.Это означает, что теперь вы можете использовать:

    -(void)textFieldDidBeginEditing:(UITextField *)textField

и -(void)textFieldDidEndEditing:(UITextField *)textField

Почему бы не сохранить значение вашего текстового поля в textFieldDidBeginEditing и сравнить его со значением в textFieldDidEndEditing?`

0 голосов
/ 30 июля 2013

Подключите действие к текстовому полю и выберите событие «значение изменено», а затем каждый раз, когда пользователь изменяет значение (текст) текстового поля, действие будет выполняться

0 голосов
/ 01 мая 2013

Лучше, чтобы текстовое поле отправляло сообщение действия UIControlEventValueChanged вашему контроллеру. Таким образом, вам не нужно задаться вопросом, действительно ли пользователь редактировал текстовое поле. Вы можете связать цель / действие в IB или сделать это программно:

[myTextField addTarget:self 
                action:@selector(textFieldValueChanged:)
      forControlEvents:UIControlEventValueChanged];

Затем выполните соответствующее действие в цели:

- (IBAction)textFieldValueChanged:(UITextField *)sender {
    // text field value was changed
}

Это обсуждается более подробно для этого вопроса

0 голосов
/ 09 августа 2011

Вам нужно будет реализовать протокол uitextfielddelegate. Проверьте документацию для более подробной информации.

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