DSColorPicker 1.0.1

DSColorPicker 1.0.1

Dalton Sweeney 维护。



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()

Presenting

重新加载颜色选择器

以某种方式更新拣色器的 dataSource 后,调用 reload(animated:completion:) 来与拣色器通信更改。

示例 - 在将颜色数量从 10 改为 15 后重新加载拣色器

Circle Grid

向拣色器提供数据

采用 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
    }
    
}

User interaction