美文网首页
iOS TextField自建搜索框,用中文拼音输入法时,输入拼

iOS TextField自建搜索框,用中文拼音输入法时,输入拼

作者: ios开发者 | 来源:发表于2017-03-16 09:26 被阅读1353次

    本文是参考知乎上文章后,我根据需求修改的:

    链接:https://www.zhihu.com/question/20443350/answer/26916231

    1.给uitextfiled增加一个 消息处理:

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

    2.在textFieldDidChange中,就可以接收到,所有的输入,但是需要将选中态时的拼音排除掉。

    UITextRange *selectedRange = [textfield markedTextRange];

    NSString * newText = [textfield textInRange:selectedRange];

    //获取高亮部分

    if(newText.length>0)

    if ([self judgeInputIsChinese:textStr]) {  //判断输入的是否是汉字

    此时textField.text就是去除拼音后的汉字了

    return newText;

    }

    这样获得的就是我们需要的结果了。

    判断输入的是否是汉字,yes是输入汉字, No不是汉字

    - (BOOL)judgeInputIsChinese:(NSString *)textStr{

    NSString *regex = @"[\u4e00-\u9fa5]";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    BOOL isMatch = [pred evaluateWithObject:textStr];

    return isMatch;

    }

    相关文章

      网友评论

          本文标题:iOS TextField自建搜索框,用中文拼音输入法时,输入拼

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