CountryPicker

CountryPicker

Awesome Build Status

codecov Version Badge

Carthage compatible Swift Package Manager compatible License

CountryPicker 是一个 Swift 库,提供了一个简单易用的界面,用于从预定义列表中选择国家。它非常适合以最小的努力为你的 iOS 应用程序添加国家选择功能。

如果你喜欢 CountryPicker,请点击此页面右上角给它一个 ★。

功能

要求

演示项目

要运行示例项目,请克隆 repo,并首先从 Example 目录运行 pod update。

Swift UI Combine 新项目

|

屏幕截图

主页场景 国家选择器场景 过滤场景 深色模式场景 Picker View

安装

CountryPicker 可通过 Cocoapods 和 Carthage 获得。

CocoaPods:

将以下行添加到你的 Podfile

For iOS 15 and above (Combine and Swiftui version) currently only supported by cocoapods 
pod 'SKCountryPicker'

请注意,iOS 15 将在 2024 年后停止支持。

Carthage

使用 Carthage 进行依赖管理的步骤在此处描述 here,但为了方便,也将其添加到此 README 中。

首先,你需要将以下行添加到你的 Cartfile

github "SURYAKANTSHARMA/CountryPicker"

以包含最新版本的 CountryPicker。

(如果你没有 Cartfile,你需要先在你喜欢的文本编辑器中创建一个)

接下来运行

carthage update --platform iOS

这将使 Carthage

Carthage 完成构建后,你需要将框架添加到你的项目中。

在 Xcode 中

最后一步是将 copy-frameworks 构建脚本添加到你的“Build Phases”。

完成!

SPM

将以下行添加到你的 Package.swift 文件中的 dependencies 部分

.package(url: "https://github.com/SURYAKANTSHARMA/CountryPicker.git, from "4.0.0")

开始使用

请查看 baseiOS11Example 项目,了解自定义以及与旧版 uikit 一起使用的不同选项。

请查看 baseiOS15Example 项目,了解如何在最低部署目标为 iOS 15 的 swift ui 应用程序中使用它

筛选选项

有 3 个主要筛选选项 countryNamecountryCodecountryDialCode,默认情况下,国家选择器已配置为基于 countryName 筛选国家。

如果你想添加/删除筛选选项,请按如下操作

 // Adding filter
 CountryManager.shared.addFilter(.countryCode)

 // Removing filter
 CountryManager.shared.removeFilter(.countryCode)

 // Removing all filters
 CountryManager.shared.clearAllFilters()

如果你想检索 country 信息

// Get country based on digit code e.g: 60, +255
CountryManager.shared.country(withDigitCode: "255")

// Get country based on country name
CountryManager.shared.country(withName: "Tanzania")

// Get country based on country code e.g: MY, TZ
CountryManager.shared.country(withCode: "MY")

依赖关系图

Dependecy graph

对于 swift ui

贡献

欢迎任何使项目变得更好的贡献。

作者

*Suryakant Sharma

另请参阅参与此项目的 贡献者 列表。衷心感谢 Hardeep Singh 给予的灵感

许可证

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件