CountryPicker 1.3

CountryPicker 1.3

测试已测试
Lang语言 Obj-CObjective C
许可证 zlib
发布最新发布2016年9月

Nick Lockwood 管理。



  • 作者
  • Nick Lockwood

Screenshot

目的

CountryPicker 是一个自定义 UIPickerView 子类,提供了一项 iOS 控件,让用户可以从列表中选择国家。它可以选择性地在每个国家名称旁边显示国旗,并且该库包含了一组来自 https://github.com/koppi/iso-country-flags-svg-collection 的 249 张公有领域国旗图片,已重命名以配合该库使用。

请注意,国家列表基于 ISO 3166 国家代码标准 (http://en.wikipedia.org/wiki/ISO_3166-1)。此列表排除了一些较小的国家,将它们视为更大的国家的一部分。例如,英格兰、苏格兰、威尔士和北爱尔兰被合并为 大不列颠。对于大多数用途来说,这是可以接受的,因为它与用于地区的约定相同,但如果您需要指定额外的国家,您可以根据下文“子类化”部分中所述修改大小写列表。

支持的 iOS & SDK 版本

  • 支持的构建目标 - iOS 10.0 (Xcode 8.0, Apple LLVM 编译器 8.0)
  • 最早支持的目标平台 - iOS 6.0
  • 最早兼容的目标平台 - iOS 5.0

备注: "支持" 意味着库已测试与该版本兼容。"兼容" 意味着该库应在该 iOS 版本上运行(即它不依赖于任何不可用的 SDK 特性),但我们不再对该兼容性进行测试,并且可能需要调整或修复错误才能正确运行。

ARC 兼容性

从版本 1.1 开始,CountryPicker 需要 ARC。如果您希望在非 ARC 项目中使用 CountryPicker,只需将 -fobjc-arc 编译器标志添加到 CountryPicker.m 文件中。为此,请进入目标设置中的构建阶段选项卡,打开编译来源组,在列表中双击 CountryPicker.m 并在弹出窗口中输入 -fobjc-arc。

如果您想要将整个项目转换为 ARC,请注释掉 CountryPicker.m 中的 #error 行,然后运行 Xcode 中的编辑 > 重构 > 转换为 Objective-C ARC... 工具,并确保所有要使用 ARC 的文件都已选中(包括 CountryPicker.m)。

安装

要在一个应用程序中使用 CountryPicker,请只需将 CountryPicker 类文件拖入到您的项目。如果您要使用旗帜图标,也可以拖入 CountryPicker.bundle 文件夹。

或者,您可以使用 Cocoapods 或 Carthage 安装 CountryPicker,

子类化

自版本 1.0.2 以来,您可以通过子类化 CountryPicker 轻松修改国家名称/代码列表。

要添加额外国家,覆盖+countryNamesByCode方法(无需覆盖+countryCodesByName,因为此方法自动从+countryNamesByCode派生)。

要更改显示顺序或将(例如)US或UK复制显示在列表顶部,覆盖+countryNames方法(无需覆盖+countryCodes,因为此方法自动从+countryNames和+countryCodesByName派生)。

发布说明

版本1.3

  • 更新项目以兼容Xcode 8
  • 现在可以覆盖选择器标签使用的字体
  • 国家排序现在针对本地化名称正确
  • 国旗图片现在从正确的包中加载
  • 添加了Carthage支持

版本1.2.3

  • 将国旗图片移动到资源包中

版本1.2.2

  • 添加了针对simulator中的当前locale不返回国家名称的bug的解决方案

版本1.2.1

  • 更新以兼容iOS 8
  • 现在符合-Weverything警告级别

版本1.2

  • 删除Countries.plist - 国家列表现在自动生成
  • 国家名称现在已本地化
  • 添加了使用区域设置设置和获取国家的能力
  • 删除了setWithLocale:方法

版本1.1

  • 更新以兼容iOS 7
  • 添加了iOS 7的新“扁平”国旗图片
  • 现在需要ARC(请参阅README以获取详细信息)
  • 现在符合-Wall和-Wextra警告级别

版本1.0.2

  • 将日本改为大写
  • 添加了南苏丹
  • 重构以简化子类化

版本1.0.1

  • 添加了对ARC的支持
  • 添加了示例项目

版本1.0

  • 首次发布