github地址:https://github.com/xiongxiong/PickerController
PickerController 自定义选择器,支持地址选择,开题报告,需要使用省市县地址选择的话,只需按照指定格式导入省市县数据即可
觉得好的话,帮忙打个星,谢谢。有问题的话,开题报告,欢迎邮件讨论。
Easy to use UITableViewCell implementing swiping to trigger actions (known from the Mailbox App)
ContentsFeatures[x] Correlational picker support
[x] Group picker support
[x] Date picker support
RequirementsiOS 8.0+ / Mac OS X 10.11+ / tvOS 9.0+
Xcode 8.0+
Swift 3.0+
InstallationCocoaPodsCocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapodsTo integrate PickerController into your Xcode project using CocoaPods, specify it in your Podfile:
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! target '<Your Target Name>' do pod 'PickerController', '~> 0.1.0' endThen, run the following command:
$ pod installCarthageCarthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update $ brew install carthageTo integrate PickerController into your Xcode project using Carthage, specify it in your Cartfile:
github 'xiongxiong/PickerController' ~> 0.1.0Run carthage update to build the framework and drag the built PickerController.framework and SwiftyJSON.framework into your Xcode project.
ManuallyIf you prefer not to use either of the aforementioned dependency managers, you can integrate PickerController into your project manually.
ExampleOpen the example project, build and run.
UsageExtension of UIViewControllerextension UIViewController { public func showCorrelationPicker(title:String, correlationalJsonStr: String, selectedItems: [String], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } public func showCorrelationPicker(title:String, correlationalJsonStr: String, selectedIndices: [Int], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } public func showCorrelationPicker(title:String, correlationalJsonFile: String, selectedItems: [String], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } public func showCorrelationPicker(title:String, correlationalJsonFile: String, selectedIndices: [Int], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } public func showGroupPicker(title:String, groupData: [[String]], selectedItems: [String], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } public func showGroupPicker(title:String, groupData: [[String]], selectedIndices: [Int], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } public func showDatePicker(title: String, initialDate: Date, onDone: ClosureDateDone? = nil, onCancel: ClosureCancel? = nil) { ... } }Chinese Region Pickerextension UIViewController { public func showPicker_ChineseRegionalism(title: String, selectedItems: [String], onDone: ClosureDone? = nil, onCancel: ClosureCancel? = nil) { ... } }Use PickerControllerfunc onClicked_button1() { let data = [['1983', '1984', '1985'], ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']] showGroupPicker(title: 'Hello', groupData: data, selectedItems: ['1984', '6月'], onDone: { [unowned self] (indices, items) in self.labelIndices.text = 'indices -- \(indices)' self.labelItems.text = 'items -- \(items)' }, onCancel: { self.labelIndices.text = 'selected nothing' self.labelItems.text = 'selected nothing' }) } func onClicked_button2() { showPicker_ChineseRegionalism(title: '城市', selectedItems: ['江苏', '无锡'], onDone: { [unowned self] (indices, items) in self.labelIndices.text = 'indices -- \(indices)' self.labelItems.text = 'items -- \(items)' }, onCancel: { self.labelIndices.text = 'selected nothing' self.labelItems.text = 'selected nothing' }) } func onClicked_button3() { showDatePicker(title: '时间', initialDate: Date(), onDone: { [unowned self] (date) in self.labelIndices.text = '' self.labelItems.text = 'date -- \(date)' }, onCancel: { self.labelIndices.text = '' self.labelItems.text = 'selected nothing' }) }Propertiesheight: CGFloat // height of picker in PickerController
animationDuration: TimeInterval // animation duration of picker
backgroundAlpha: CGFloat // background alpha of PickerController
Authorxiongxiong, ximengwuheng@163.com
LicensePickerController is available under the MIT license. See the LICENSE file for more info.