Вы можете зарегистрировать объект для наблюдения UITextFieldDidChangeNotification в вашем текстовом поле.
Например:
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidChange:) name:UITextFieldTextDidChangeNotification object:self.textField];
}
тогда
- (void)textFieldDidChange:(NSNotification *)notification
{
UITextField *aTextField = [notification object];
if ([aTextField.text length] == 0) {
aTextField.backgroundColor = [UIColor redColor];
}
}
если вы установите точку останова на
aTextField.backgroundColor = [UIColor redColor];
Вы увидите, что он вызывается непосредственно перед последним удалением, который устанавливает для свойства текстового поля значение nil.
Вы также можете просто получить доступ к свойству self.textField, но я демонстрирую, как получить доступ к объекту, на который ссылается уведомление. Если вы пропустите последний параметр (object :) в -addObserver: selector: name: object: он вызовет уведомление для всех textFields в экземпляре этого объекта.