iOS自适应手机语言的国家&国旗列表
2017-08-09 19:57
1626 查看
引
项目需要一个选择国家的列表,想想要自己列出所有国家就够麻烦了,还要适配手机语言就更加是个不可能的任务,后来发现苹果是给出了直接的API来做的,很方便,我加上了大部分国家的国旗,这个是系统没给的,放出来方便大家。实现
列表怎么实现就不说了,直接说怎么获取国家数组。NSLocale *locale = [NSLocale currentLocale]; NSArray *countryArray = [NSLocale ISOCountryCodes]; for (NSString *countryCode in countryArray) { if ([countryCode isEqualToString:@"CN"]) { [self.countryCodeArray insertObject:countryCode atIndex:0]; NSString *displayNameString = [locale displayNameForKey:NSLocaleCountryCode value:countryCode]; [self.countryArray insertObject:displayNameString atIndex:0]; continue; } [self.countryCodeArray addObject:countryCode]; NSString *displayNameString = [locale displayNameForKey:NSLocaleCountryCode value:countryCode]; [self.countryArray addObject:displayNameString]; }
如上面代码,可以直接获取到各个国家的代码,这里会涉及到一个很有意思的地方,如果直接查看 self.countryCodeArray 这个数组,会发现都只是国家代号,但如果去获取他的值,会发现自动变成当前设备语言下的国家名了。
上面代码中 self.countryCodeArray 这个数组是用来存放国家名的,self.countryCodeArray 这个数组是存放国家代码本身的,这是因为我的国旗图片名都是国家代码,所以需要用这个代码来获取图片从而在列表中显示图片。
代码中遇到代号为“CN”的表示是中国,我将它放在列表第一个显示方便选择。
其余的关于列表的代码就很常见啦,不会的可以在工程中查看。
结
希望能帮助到需要的人,这个知识点知道了就很方便,不知道就很麻烦。示例工程:https://github.com/Cloudox/OXCountryTable
版权所有:http://blog.csdn.net/cloudox_
相关文章推荐
- Wp7,使你的程序在程序列表中的名称自适应手机语言设置
- [ios开发]判断手机设置语言是否为中文(简体或者繁体)
- 动态语言 & ios程序 - lua基础
- 支持android&ios高度自适应及JS相互调用的组件react-native-webview2
- Java国际化,获取java支持的语言和国家列表
- android webview加载html图片自适应手机屏幕大小&点击查看大图
- android webview加载html图片自适应手机屏幕大小&点击查看大图
- magento -- 隐藏国家语言列表带来的bug及解决
- iOS每日一记之——————点击按钮进入到国家选择列表并回调
- android外包公司——最新案例铁血军事手机客户端(IOS & Android)
- magento -- 隐藏国家语言列表,只保留中英文
- Android 手机卫士--设置界面&功能列表界面跳转逻辑处理
- 关于iOS国际化(根据手机系统来切换语言) App支持多语言切换
- iOS获取手机内部音乐列表
- IOS 平台获取当前的国家/语言设置
- iOS 获取国家列表、转json
- ios开发——代码实现获得手机系统的名字和版本号&当前网络状态
- 通过简单脚本保留想要的magento后台国家语言列表
- [IOS]SMS获取&验证手机验证码
- iOS 平台获取当前的国家/语言设置