分享

使用系统手机国旗emoji来显示国旗

 小世界的野孩子 2021-12-17

以前一直以为,要显示各国国旗,除了让UI给图片,没有其他办法。

最近发现了手机中自带国旗,在系统表情键盘中就有各国国旗,如果对UI要求不是很高的话,可以直接使用国旗emoji

上代码

- (NSString *)emojiFlagForISOCountryCode:(NSString *)countryCode {
    NSString *code = countryCode;
    if ([countryCode isEqualToString:@"TW"]) {
        code = @"CN";
    }
    NSAssert(code.length == 2, @"Expecting ISO country code");

    int base = 127462 -65;

    wchar_t bytes[2] = {
        base +[code characterAtIndex:0],
        base +[code characterAtIndex:1]
    };

    return [[NSString alloc] initWithBytes:bytes
                                    length:code.length *sizeof(wchar_t)
                                  encoding:NSUTF32LittleEndianStringEncoding];
}

countryCode传国家代码,如果中国CN,

[self emojiFlagForISOCountryCode:@"CN"];

这里因为没有台湾的国旗,所以做了下判断,如果是台湾就和中国一样显示

 

参考链接:

https://en./wiki/ISO_3166-1#Notes

https:///questions/30402435/swift-turn-a-country-code-into-a-emoji-flag-via-unicode

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多