Platform: iOS iOS 11+ Swift 5.0+ XCode 14.x+

spm compatible Cocoapod compatible

轻松简化国家/地区选择。自定义主题,添加国家/地区,并优化列表——所有这些都针对您的应用程序进行定制。一个简单而强大的选择,以增强用户体验。 🌐✨

⛳️ CountryPickerAKS

😳 功能特点

如果它简化了您的应用程序开发,请给它一个⭐️!

📱 屏幕截图

浅色和深色模式

🤖 安装

Swift 包管理器

CocoaPods

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.0'
use_frameworks!

target 'MyApp' do
  pod 'CountryPickerAKS'
end

⛳️ CountryPickerAKS - 文档

默认

import CountryPickerAKS

CountryPicker.show(from: self) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}

🗺️ CountryManager

CountryManager 类提供了一种方便的方式来管理和检索基于不同参数(如国家/地区代码、国家/地区名称、拨号代码和国家/地区表情符号)的国家/地区数据。 它是一个单例类,确保整个应用程序中只有一个国家/地区数据的实例。

更高级的示例

借助强大的选项,您可以使用 CountryPickerAKS 以简单的方式完成复杂的任务。 例如,以下代码

  1. 更改显示元素
CountryPicker.show(from: self, config: Config(
    display: ShowContent(Flag: true, CountryName: true)
)) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}
  1. 更新主题
CountryPicker.show(from: self, config: Config(
    color: ThemeColor(
        primary: .systemGray6,
        secondary: .systemBackground,
        textColor: .systemBlue)
)) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}
  1. 更新字体
CountryPicker.show(from: self, config: Config(
         font: ThemeFont(
                searchBar: UIFont(name: "Lemonada-Medium", size: 16) ?? UIFont(),
                countryName: UIFont(name: "Lemonada-Regular", size: 16) ?? UIFont(),
                countryCode: UIFont(name: "Lemonada-Light", size: 16) ?? UIFont(),
                countryFlag: UIFont(name: "Lemonada-Bold", size: 22) ?? UIFont())
)) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}
  1. 显示/隐藏本地国家/地区
CountryPicker.show(from: self, config: Config(
    data: CustomizeCountryList(showLocalOnTop: false)
)) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}
  1. 添加新国家/地区/更改位置/仅显示和删除
CountryPicker.show(from: self, config: Config(
    data: CustomizeCountryList(
        addNew: [
            CountryList(name: "New Country", dial_code: "+12", emoji: "🫡", code: "NCA"),
            CountryList(name: "New Country B", dial_code: "+13", emoji: "😵‍💫", code: "NCB")
            ],
        alterExisting: [
            .onTop(["NCA", "NCB"]),
            .onTopAfterLocal(["NP"]),
            .onBottom(["US"])
            ]
    )
)) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}
CountryPicker.show(from: self, config: Config(
    data: CustomizeCountryList(
        addNew: [
            CountryList(name: "New Country", dial_code: "+12", emoji: "🫡", code: "NCA"),
            CountryList(name: "New Country B", dial_code: "+13", emoji: "😵‍💫", code: "NCB")
            ],
        alterExisting: [
            .onTop(["NCA", "NCB"]),
            .onTopAfterLocal(["NP"]),
            .onBottom(["US"]),
            .displayOnly(["NCA","NCB"]),
            .removeOnly(["NCB"])
            ]
    )
)) { result in
   switch result {
       case .success(let data):
       debugPrint(data)
       case .failure(let err):
       debugPrint(err.localizedDescription)
   }
}

😳 要求

🪪 许可证

MIT © 2023

🔗 链接