美文网首页
UITextField 汉字拼音预输入问题

UITextField 汉字拼音预输入问题

作者: 光之盐汽水 | 来源:发表于2021-06-17 15:17 被阅读0次
    情景描述:

    模糊搜索:随着用户输入的汉字不断筛选符合用户输入的关键字的数据。

    思路:

    为UITextField添加内容改变事件,在回调方法中判断是否有markedTextRange。
    UITextField或UITextView输入文字的时候输入的文字会有两个状态——选中与未选中,汉字的预输入的高亮模式就是未选中的状态。

    方法:
    // 1、首先为textField添加UIControlEventEditingChanged事件
    [_textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
    
    // 2、在UIControlEventEditingChanged事件方法中,区分是否存在markedTextRange
    - (void)textFieldDidChange:(UITextField *)textField {
        
        if (textField.markedTextRange == nil) {
            //点击完选中的字之后
            DSLog(@"text:%@", textField.text);
            self.textField.text = textField.text;
    
        } else {
            //没有点击出现的汉字,一直在点击键盘
            DSLog(@"markedTextRange:%@",textField.text);
        }
    }
    

    相关文章

      网友评论

          本文标题:UITextField 汉字拼音预输入问题

          本文链接:https://www.haomeiwen.com/subject/cmscyltx.html