判断键盘图片

来源:互联网 发布:知乎在哪里回答问题 编辑:程序博客网 时间:2024/06/09 17:32

有时候不想输入键盘图片怎么办?

//判断是否是键盘图片

+ (BOOL)isContainsEmoji:(NSString *)string {

   __block BOOL isEomji =NO;

    [string enumerateSubstringsInRange:NSMakeRange(0, [stringlength]) options:NSStringEnumerationByComposedCharacterSequencesusingBlock:

     ^(NSString *substring,NSRange substringRange, NSRange enclosingRange, BOOL *stop) {

        const unichar hs = [substringcharacterAtIndex:0];

        if (0xd800 <= hs && hs <=0xdbff) {

            if (substring.length >1) {

                const unichar ls = [substringcharacterAtIndex:1];

                const int uc = ((hs -0xd800) * 0x400) + (ls -0xdc00) + 0x10000;

                if (0x1d000 <= uc && uc <=0x1f77f) {

                     isEomji =YES;

                 }

             }

         }else if (substring.length >1) {

            const unichar ls = [substringcharacterAtIndex:1];

            if (ls == 0x20e3) {

                 isEomji =YES;

             }

         }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;

}



0 0
原创粉丝点击