DSColorPicker
满足您颜色选择需求的高效视图。
CocoaPods 安装
将 pod 'DSColorPicker'
添加到您的 Podfile,然后运行 $ pod install
使用方法
为了使用提供的类,请导入 import DSColorPicker
呈现颜色选择器
创建 Grid 或 Circle ColorPickerView 后,调用 show(animated:completion:)
。默认情况下,呈现是动画化的,并且完成处理器不执行任何操作。
示例
在一个视图控制器中
let gridColorPickerView = GridColorPickerView(frame: self.view.bounds, delegate: self, dataSource: self)
view.addSubview(gridColorPickerView)
gridColorPickerView.show()
重新加载颜色选择器
以某种方式更新拣色器的 dataSource
后,调用 reload(animated:completion:)
来与拣色器通信更改。
示例 - 在将颜色数量从 10 改为 15 后重新加载拣色器
向拣色器提供数据
采用 ColorPickerViewDataSource
为拣色器提供颜色数量和颜色值。
提供各种 RGB 格式颜色的相应视图控制器的示例
extension ViewController: ColorPickerViewDataSource {
var numberOfColors: Int {
return 16
}
func color(at index: Int) -> CGColor {
let color = UIColor(hue: CGFloat(index) / CGFloat(self.numberOfColors), saturation: 1.0, brightness: 1.0, alpha: 1.0).cgColor
return color
}
}
GridColorPickerView
提供数据
向 为了提供一个 GridColorPickerView 的数据,采用 GridColorPickerViewDataSource
协议。该数据源与 ColorPickerViewDataSource
有相同的要求,此外还增加了 maxColumns
,指定网格中允许的最大列数。
示例 - 将颜色逐个添加到拣色器中,将 maxColumns
设置为 4
处理事件
通过采用 ColorPickerViewDelegateProtocol
来接收用户在选择拣色器中的颜色时发出的通知。
示例
extension ViewController: ColorPickerViewDelegate {
// A UIViewController subclass is the delegate for a picker view, and changes its view's background color when a color is selected by the user in a picker view.
func didSelect(color: UIColor, pickerView: ColorPickerViewType) {
view.backgroundColor = color
}
}