监测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以上版本

- (void)textFieldDidChangeSelection:(UITextField *)textField

你可能感兴趣的:(监测UITextField的变化)