AsyncDataPicker
一个可定制的选择器。您可以异步提供数据源,不必在视图出现之前获取所有数据。
需求
它需要 Xcode 9.0+ 和 Swift 4.0。
安装
AsyncDataPicker 可在 CocoaPods 上找到。只需将以下行添加到您的 podfile 中:
pod 'AsyncDataPicker'
使用
AsyncDataPicker 非常易于使用。
// Create a new AsyncDataPicker
let picker = AsyncDataPicker(numberOfComponents: 2, title: "Color")
//config DataProvider. You should
picker.configDataProvider {[unowned self] (component, parentID, receiver) in
if component == 0 {
// load first Component Data from network or local.
let firstComponentData = self.loadFirstComponentData()
// all component data should adopt AsyncDataPickerItemProtocol
receiver(firstComponentData)
} else if component == 1 {
// load second Component Data from network or local.
let secondComponentData = self.loadSecondComponentData(firstID: parentID)
receiver(secondComponentData)
}
}
picker.dataSelectedAction {[unowned self] (item) in
guard let selectedData = item[1] else {
return
}
self.resultField.text = selectedData.pickerItemName
}
picker.show()
配置
AsyncDataPickerAttribute.normalTextColor = UIColor(red: 51/255.0, green: 51/255.0, blue: 51/255.0, alpha: 1.0)
AsyncDataPickerAttribute.selectedTextColor = UIColor(red: 116/255.0, green: 191/255.0, blue: 58/255.0, alpha: 1.0)
AsyncDataPickerAttribute.separatorColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1)
AsyncDataPickerAttribute.totalHeight = 341
AsyncDataPickerAttribute.titleHeight = 40
AsyncDataPickerAttribute.tabbarHeight = 40
AsyncDataPickerAttribute.defaultComponentTitle = "Select"
许可
AsyncDataPicker遵循MIT许可协议。详细信息请见LICENSE文件。