CountryList
CountryList copied to clipboard
An iOS Framework that allows developers to present the user with a list of Countries and their respective information, like country code, phone extension and flag.
CountryList
A simple iOS framework that allows developers to present a list of countries.
CountryList makes it easy to present the user with a list of Countries and their respective information, like country code, phone extension and flag.

Contents
- Requirements
- Installation
- CocoaPods
- Manually
- Usage
- Notes
- Contribute
- License
Requirements
- iOS 9.0+
- Xcode 7.3+
Installation
CocoaPods
You can use CocoaPods to install CountryList by adding this to your Podfile:
use_frameworks!
pod 'CountryList'
If you get the Unable to find a specification for `CountryList`. error after running pod install.
Run the following commands on your project directory:
pod repo update
pod install
Manually
- Drag and drop
CountryList.swiftCountries.swiftCountry.swiftCountryCell.swiftin your project. - That's it!
Usage
- Import
CountryListmodule to yourViewControllerclass
import CountryList
- Add
CountryListtoViewController, then set the delegate for it to self.
class ViewController: UIViewController {
var countryList = CountryList()
override func viewDidLoad() {
super.viewDidLoad()
countryList.delegate = self
}
}
- Conform your
ViewControllertoCountryListDelegateprotocol and implement all the methods, e.g.
class ViewController: UIViewController, CountryListDelegate {
func selectedCountry(country: Country) {
print(country.name)
print(country.flag)
print(country.countryCode)
print(country.phoneExtension)
}
}
- Present the
CountryListview onViewControllere.g.
class ViewController: UIViewController {
@IBAction func presentCountryList(_ sender: Any) {
let navController = UINavigationController(rootViewController: countryList)
self.present(navController, animated: true, completion: nil)
}
}
CountryListworks with default implementation. Override it to customize its behavior
Notes
- Landscape mode is not supported
Contribute
Contributions are welcomed! There are however certain guidelines you must follow when you contribute:
- Have descriptive commit messages.
- Make a pull request for every feature (Don't make a pull request that adds 3 new features. Make an individual pull request for each of those features, with a descriptive message).
- Don't update the example project, or any other irrelevant files.
License
Distributed under the MIT license. See LICENSE for more information.