iOS禁止所有输入法表情的方法

 更新时间:2018年10月04日 11:00:54   作者:Jaycee麦子  
这篇文章主要为大家详细介绍了iOS禁止所有输入法表情的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了iOS禁止所有输入法表情的具体代码,供大家参考,具体内容如下

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
  //禁止所有输入法的表情
  if ([self isContainsTwoEmoji:text]) {
    return NO;
  }
  return YES;
}

//判断是否是表情字符

- (BOOL)isContainsTwoEmoji:(NSString *)string {
  __block BOOL isEomji = NO;
  [string enumerateSubstringsInRange:NSMakeRange(0, [string length]) options:NSStringEnumerationByComposedCharacterSequences usingBlock:
   ^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
     const unichar hs = [substring characterAtIndex:0];
     //     NSLog(@"hs++++++++%04x",hs);
     if (0xd800 <= hs && hs <= 0xdbff) {
       if (substring.length > 1) {
         const unichar ls = [substring characterAtIndex:1];
         const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
         if (0x1d000 <= uc && uc <= 0x1f77f)
         {
           isEomji = YES;
         }
         //         NSLog(@"uc++++++++%04x",uc);
       }
     } else if (substring.length > 1) {
       const unichar ls = [substring characterAtIndex:1];
       if (ls == 0x20e3|| ls ==0xfe0f) {
         isEomji = YES;
       }
       //       NSLog(@"ls++++++++%04x",ls);
     } else {
       if (0x2100 <= hs && hs <= 0x27ff && hs != 0x263b) {
         isEomji = YES;
       } else if (0x2B05 <= hs && hs <= 0x2b07) {
         isEomji = YES;
       } else if (0x2934 <= hs && hs <= 0x2935) {
         isEomji = YES;
       } else if (0x3297 <= hs && hs <= 0x3299) {
         isEomji = YES;
       } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50|| hs == 0x231a ) {
         isEomji = YES;
       }
     }
   }];
  return isEomji;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 学习iOS全局跑马灯

    学习iOS全局跑马灯

    这篇文章主要帮助大家学习iOS全局跑马灯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • iOS开发实现转盘功能

    iOS开发实现转盘功能

    这篇文章主要为大家详细介绍了iOS开发实现转盘功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • iOS状态栏、导航栏的一些笔记分享

    iOS状态栏、导航栏的一些笔记分享

    这篇文章主要给大家分享了关于iOS中状态栏、导航栏的一些笔记,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 详谈iOS 位置权限弹出框闪现的问题

    详谈iOS 位置权限弹出框闪现的问题

    下面小编就为大家带来一篇详谈iOS 位置权限弹出框闪现的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • iOS开发常用线程安全锁

    iOS开发常用线程安全锁

    这篇文章主要为大家介绍了iOS开发常用线程安全锁示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • iOS 中Swift仿微信添加提示小红点功能(无数字)

    iOS 中Swift仿微信添加提示小红点功能(无数字)

    这篇文章主要介绍了iOS 中Swift仿微信添加提示小红点功能(无数字),非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • iOS自定义UIButton点击动画特效

    iOS自定义UIButton点击动画特效

    这篇文章主要为大家详细介绍了iOS自定义UIButton点击动画特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • iOS实现自定义表单实例代码

    iOS实现自定义表单实例代码

    表单对大家来说应该都不陌生,下面这篇文章主要给大家介绍了关于iOS如何实现自定义表单的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • iOS保存App中的照片到系统相册或自建相册的方法

    iOS保存App中的照片到系统相册或自建相册的方法

    这篇文章主要介绍了iOS保存App中的照片到系统相册或自建相册的方法,示例代码为传统的Objective-C语言写成,需要的朋友可以参考下
    2016-04-04
  • IOS开发之路--C语言预处理

    IOS开发之路--C语言预处理

    由于预处理指令是在编译之前就进行了,因此很多时候它要比在程序运行时进行操作效率高。在C语言中包括三类预处理指令,今天将一一介绍:宏定义、条件编译、文件包含
    2014-08-08

最新评论