UPicker
一个使用 Swift 编写的选择器小部件。易于使用,如果需要可以自定义样式。
截图
安装
CocoaPods
# for swift 4
pod "UPicker", '~>1.1.0'
# fot swift 3
pod "UPicker", '~>1.0.1'
# for swift 2.3
pod 'UPicker', '~>0.1.1'
手动
下载 UPicker.swift
和 UPickerView.swift
,并将它们添加到您的项目中。
使用方法
简单
class ViewController: UIViewController {
let picker: UPicker?
let data = [["First", "Second", "Third"]]
let selected = [0]
// ...
func showPicker() {
if picker == nil {
picker = UPicker(frame: view.frame, didDisappear: { selected in
if rows != selected {
print("select \(rows[0])")
}
})
}
picker.pickerView.data = data
picker.pickerView.selectedRows = selected
picker?.present(self)
}
}
多个数据
可以使用多个数据。
//...
picker.pickerView.data = [["First", "Second", "Third"], ["Fourth", "Fifth"]]
picker.pickerView.selectedRows = [0, 0]
//...
嵌套数据
此外,还提供了嵌套数据。
//...
picker.pickerView.data = [["Odd", "Even"]]
picker.pickerView.selectedRows = [0, 0]
// nested hierarchy
picker.pickerView.nestedHierarchy = 2
// nested data
picker.pickerView.nestedData = [
"Odd": ["1", "3", "5", "7", "9"],
"Even": ["2", "4", "6", "8"]
]
//...
自定义样式
UPicker
是 UIViewController
的子类。你可以设置日期选择器显示时的自定义过渡效果。
UPicker.pickerView
是一个 UPickerView
实例,而 UPickerView
是 UIView
的子类。你可以通过其属性获取一些视图。
- pickerView: UIPickerView
- barView: UIView
- doneButton: UIButton
- blankView: UIView
因此,你可以对这些进行任何操作。
例如
// ...
// custom transition
picker.modalTransitionStyle = .FlipHorizontal
// custom button text
picker.pickerView.doneButton.setTitle("OK", forState: .Normal)
// custom picker view text color
picker.pickerView.textColor = UIColor.blueColor()
// ...