感谢 https://my.oschina.net/u/274829/blog/519079?fromerr=p4OPcYmo
第二种方法不错
- (void)viewDidLoad {
// 一 代理监听
_textField.delegate = self;
// 二 添加文本框改变事件
[_textField addTarget:self action:@selector(textChange) forControlEvents:
UIControlEventEditingChanged];
// 三 添加文本框改变通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(text
Change) name:UITextFieldTextDidChangeNotification object:nil];
//addObserver:self 监听者对象
//name 监听的改变对象的方法
//object 监听的对象 nil 全部监听 单个监听 填自己(_textField)
}
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSLog(@"调用了代理方法");
return NO; //如果NO就不会显示文本内容
}
- (void)textChange {
NSLog(@"调用了");
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
//移除监听
}