textField监听输入变化三种方法

感谢 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];
    //移除监听
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容