美文网首页
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