感謝 https://my.oschina.net/u/274829/blog/519079?fromerr=p4OPcYmo
第二種方法不錯(cuò)
- (void)viewDidLoad {
// 一 代理監(jiān)聽
_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 監(jiān)聽者對象
//name 監(jiān)聽的改變對象的方法
//object 監(jiān)聽的對象 nil 全部監(jiān)聽 單個(gè)監(jiān)聽 填自己(_textField)
}
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSLog(@"調(diào)用了代理方法");
return NO; //如果NO就不會(huì)顯示文本內(nèi)容
}
- (void)textChange {
NSLog(@"調(diào)用了");
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
//移除監(jiān)聽
}