UITextField 中文预输入搜索
个人刚开始的写法是用UIControlEventEditingChanged监听输入的值改变,当使用自带的输入法输中文拼音是,一输入就会执行搜索,因为输入框值改变了,但是实际上的效果是选择了文字后再开始搜索,
pragma mark 输入框变化搜索
-(void)textFieldDidChange:(UITextField *)textField
{
[self searchBtnAction];//搜索方法
}
后经网上搜索查询改为
pragma mark 输入框变化搜索
-(void)textFieldDidChange:(UITextField *)textField
{
if (textField.markedTextRange == nil) {
[self searchBtnAction];//搜索方法
}
}
通过以上的说明,在解决上述问题的时候你需要判断markedTextRange是不是为nil,如果为nil的话就说明你现在没有未选中的字符,可以计算文字长度。否则此时计算出来的字符长度可能不正确。