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

2017-03-16  本文已影响1353人  ios开发者

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

链接: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;

}

上一篇下一篇

猜你喜欢

热点阅读