您的位置:首页 > 产品设计 > UI/UE

iOS UITextField实时输入查询

2016-10-18 22:48 429 查看
核心思想:不使用代理方法,使用点击事件,并屏蔽掉正在输入的拼音。

之前想用UITextField 的代理方法:shouldChangeCharactersInRange;

问题是:在输入的文字还没有改变前就调用了,比如输入
"tongzhi",输入框中是“tongzhi”,但获取到的是“tongzh”

[self.inputField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];


- (void) textFieldDidChange:(UITextField *)sender {

NSLog(@"textChangeAction : %@",sender.text);

//防止输入拼音状态时查询
NSString *str = [sender textInRange:sender.markedTextRange];
NSLog(@"textChangeAction str = %@",str);

if (![str isEqualToString:@""]) {
return;
}

if (_blockSearchFieldDidChange) {
_blockSearchFieldDidChange(sender.text);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: