textField的内容变化时 再用textFieldDidBeginEditing或者textFieldShouldReturn是没有用的,这时候就要考虑到给textField加监听了。
一般加监听分三种
一、KVO
[textField addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew context:nil];
二、直接添加监听
[textField addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventAllEditingEvents];
三、注册消息通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldChanged:) name:UITextFieldTextDidChangeNotification object:textField];
但是这三种其实都有缺陷的,如果使用的话 需要在进行处理
第二,三中通过代码插入的时候监听不到,第一种通过界面输入的时候监听不到 所以要根据情况进行多种判断才行。