TextFieldBeginEditing не работает - почему?

У меня есть textField, который можно сохранить, только если он был изменен. Таким образом, кнопка Save.enabled = NO в viewDidLoad.

Если пользователь редактирует или изменяет textField, я хочу включить кнопку Save. Так почему же этот код не работает?

- (void)textFieldDidBeginEditing:(UITextField *)textField {
 self.ButtonSave.enabled = YES;
}
1 ответ

didBeginEditing не срабатывает, когда пользователь меняет текст, он срабатывает, когда он выбирает textField (перед редактированием).

Вы можете прослушать событие UIControlEventEditingChanged:

[myTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

- (void)textFieldDidChange:(id)sender {
 if (myTextField.text.length > 0) self.ButtonSave.enabled = YES;
 else self.ButtonSave.enabled = NO;
}

licensed under cc by-sa 3.0 with attribution.