监测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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。