解决iOS UITextField输入的内容在代理方面里面不能全部获取到

来源:互联网 发布:unity3d 液体流动 编辑:程序博客网 时间:2024/05/16 15:07

问题描述:公司有个项目是需要添加搜索功能的,在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];

1 0
原创粉丝点击