iOS UITextField实时监听获取输入内容,自带输入法中文拼音预输入,输入完整中文后再搜索

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的话就说明你现在没有未选中的字符,可以计算文字长度。否则此时计算出来的字符长度可能不正确。

你可能感兴趣的:(iOS小姿势)