监测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
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量