iOS开发中判断键盘输入的是中文、英文还是emoji表情

看图
iOS开发中判断键盘输入的是中文、英文还是emoji表情_第1张图片
0.键盘.png

iOS7以前我们会使用[UITextInputMode currentInputMode] primaryLanguage]来判断键盘输入的是中文、英文还是emoji表情。
如果primaryLanguage是"en-US"那么输入的是英文,如果是"zh-Hans"那么输入的是中文,如果是"emoji"那么输入的是表情。

iOS7[UITextInputMode currentInputMode] 不被苹果官方建议使用,因此我们需要新的方法来进行相应的判断。

iOS7之后我们使用[textField.textInputMode primaryLanguage]方法来对键盘输入的是中文、英文还是emoji表情进行判断。中英文的判断方式一样,只不过emoji表情的判断方式有些不同。

   if ([[textView.textInputMode primaryLanguage] isEqualToString:@"emoji"] || [textView.textInputMode primaryLanguage] == nil) {
    NSLog(@"输入的是表情...");
}else{
    NSLog(@"输入的不是表情...");
}

多了一个判断为nil的情况。

补充:
使用方法

  - (BOOL)stringContainsEmoji:(NSString *)string{
NSUInteger stringUtf8Length = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
if(stringUtf8Length >= 4 && (stringUtf8Length / string.length != 3)){
    return YES;
}else{
    return NO;
}
}

可以使用该方法来判断输入的是不是emoji表情。
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。

你可能感兴趣的:(iOS开发中判断键盘输入的是中文、英文还是emoji表情)