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);
}
}
之前想用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);
}
}
相关文章推荐
- iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数封装实现
- iOS 实时监听UITextField输入事件
- iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数的封装实现代码
- XZ_iOS之UITextView或UITextField实时修改输入的部分文字的颜色(下)
- XZ_iOS之UITextView或UITextField实时修改输入的部分文字的颜色(上)
- iOS UITextField实时监听获取输入内容,中文状态去除预输入拼音
- ios--uitextfield动态限制输入的字数(解决方案)
- IOS-如何干掉UITextField的长按手势菜单与输入内容限制
- IOS -- UITextField内输入文字的居中方式
- ios7下UITextField输入很长时,字符不自动左移的问题
- iOS UITextView 输入内容实时更新cell的高度
- IOS开发问题解决之限制UITextField输入特定位数小数时,Done按钮失效
- iOS UITextField输入后隐藏键盘
- [iOS开发] UITextField 获取输入内容
- iOS中判断UITextField的输入只为数字
- iOS-UITextField,UITextView 设置可输入字符串长度
- iOS控制UITextfield输入字符
- iOS 除去两边空格与UITextField限制输入内容
- iOS 6会出现 UItextfield 无法输入任何字符的 bug
- iOS 6会出现 UItextfield 无法输入任何字符的 bug