经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
iOS之禁止所有输入法的表情
来源:cnblogs  作者:Jaycee麦子  时间:2018/9/30 10:54:33  对本文有异议
  1. - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
  2. //禁止所有输入法的表情
  3. if ([self isContainsTwoEmoji:text]) {
  4. return NO;
  5. }
  6. return YES;
  7. }

//判断是否是表情字符

  1. - (BOOL)isContainsTwoEmoji:(NSString *)string {
  2. __block BOOL isEomji = NO;
  3. [string enumerateSubstringsInRange:NSMakeRange(0, [string length]) options:NSStringEnumerationByComposedCharacterSequences usingBlock:
  4. ^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
  5. const unichar hs = [substring characterAtIndex:0];
  6. // NSLog(@"hs++++++++%04x",hs);
  7. if (0xd800 <= hs && hs <= 0xdbff) {
  8. if (substring.length > 1) {
  9. const unichar ls = [substring characterAtIndex:1];
  10. const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
  11. if (0x1d000 <= uc && uc <= 0x1f77f)
  12. {
  13. isEomji = YES;
  14. }
  15. // NSLog(@"uc++++++++%04x",uc);
  16. }
  17. } else if (substring.length > 1) {
  18. const unichar ls = [substring characterAtIndex:1];
  19. if (ls == 0x20e3|| ls ==0xfe0f) {
  20. isEomji = YES;
  21. }
  22. // NSLog(@"ls++++++++%04x",ls);
  23. } else {
  24. if (0x2100 <= hs && hs <= 0x27ff && hs != 0x263b) {
  25. isEomji = YES;
  26. } else if (0x2B05 <= hs && hs <= 0x2b07) {
  27. isEomji = YES;
  28. } else if (0x2934 <= hs && hs <= 0x2935) {
  29. isEomji = YES;
  30. } else if (0x3297 <= hs && hs <= 0x3299) {
  31. isEomji = YES;
  32. } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50|| hs == 0x231a ) {
  33. isEomji = YES;
  34. }
  35. }
  36. }];
  37. return isEomji;
  38. }

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号