监测UITextField的变化

本文参考作者 Kingdev 的博客监测UITextField的变化
当我们有需求
1.输入框输入文本超过xx长度,不再允许输入其他内容!
2.输入文本够一定长度更改某个按钮的颜色
都可以通过监测UITextField的变化可以为UIControlEventEditingChanged事件添加target。
UITextField 代理方法本身是无法满足这个需求的。(当然你可以给UITextView添加placeholder实现相同的需求,此处不做介绍。)
示例代码如下:
[self.accountTF addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];


- (void) textFieldDidChange:(id) sender {
if (self.accountTF.text.length>0) {
self.submitBtn.backgroundColor = [UIColor redColor];
}else{
self.submitBtn.backgroundColor = [UIColor grayColor];
}
}


iOS13之后delegate提供一个方法可以直接实现,不过只支持iOS13以上版本
【监测UITextField的变化】- (void)textFieldDidChangeSelection:(UITextField *)textField

    推荐阅读