2020年10月14日星期三

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

以前一直以为,要显示各国国旗,除了让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.wikipedia.org/wiki/ISO_3166-1#Notes

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

原文转载:http://www.shaoqun.com/a/481077.html

黄劲:https://www.ikjzd.com/w/2426

邓白氏集团:https://www.ikjzd.com/w/582

飞书互动:https://www.ikjzd.com/w/1319.html


以前一直以为,要显示各国国旗,除了让UI给图片,没有其他办法。最近发现了手机中自带国旗,在系统表情键盘中就有各国国旗,如果对UI要求不是很高的话,可以直接使用国旗emoji上代码-(NSString*)emojiFlagForISOCountryCode:(NSString*)countryCode{NSString*code=countryCode;if([countryCodeisEqualT
跨境通:https://www.ikjzd.com/w/1329
网易考拉海购大促:https://www.ikjzd.com/w/1052
Prime会员单日送很快?来看看亚马逊Prime Now两小时送货计划 :https://www.ikjzd.com/home/91289
围观:优秀卖家的Listing,都长这样:https://www.ikjzd.com/home/59707
米库网(MallLib.com):https://www.ikjzd.com/w/1416

没有评论:

发表评论