问题描述:公司有个项目是需要添加搜索功能的,在UITextfiled里面输入内容历史框中出现匹配的内容,但是我发现每次输入的时候在方法-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{里面获取到的内容都不是我输入在文本框的内容,都要少一位字符。在其他几个代理方法里面这个问题同样存在,这个控件可以注册通知,因此试了试,成功了,每次获取的都是输入文本框的内容,也就是实时性可以得到保证。
代码如下:_yTextField 就是创建的控件
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange:) name:UITextFieldTextDidChangeNotification object:_yTextField];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textGetFocus:) name:UITextFieldTextDidBeginEditingNotification object:_yTextField];