An intuitive HSB color picker built in Swift. Supports multiple selection handles and is customizable to your needs. > TODO: Image / GIF ## Examples ```Swift let colorPicker = ChromaColorPicker(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) addSubview(colorPicker) // Optional: Add multiple handles to the color picker // Optional: Attach a ChromaBrightnessSlider to a ChromaColorPicker let brightnessSlider = ChromaBrightnessSlider(frame: CGRect(x: 0, y: 0, width: 280, height: 32)) addSubview(brightnessSlider) colorPicker.connect(brightnessSlider) // or `brightnessSlider.connect(to: colorPicker)` ``` ## Usage ### Multiple Handles ```Swift // Add handles {TODO} // Add a custom handle {TODO} // Remove handles {TODO} ``` ### Supported UIControlEvents ## Installation ### Carthage ```bash github "joncardasis/ChromaColorPicker" ``` ### Cocoapods ```bash pod 'ChromaColorPicker' ``` ### Manually Add all files from the `Source` folder to your project. ## Components ### ChromaColorPicker An HSB color picker with support for adding multiple color selection handles. ### ChromaBrightnessSlider [ChromaBrightnessSlider]() is a slider UIControl which can be attached to any `ChromaColorPicker` via the `connect(to:)` method. ChromaBrightnessSlider can also function as a stand-alone UIControl. ### Supported UIControlEvents You can observe on the following UIControlEvents via `UIControl`'s `addTarget` method: ```Swift addTarget(self, action: #selector(sliderDidValueChange(_:)), for: .valueChanged) @objc func sliderDidValueChange(_ slider: ChromaBrightnessSlider) { print("new color: \(slider.currentColor)") } ``` _ChromaColorPicker_ | Event | Description | | :-----------------:|:-------------| | `.touchDown`(no) | Called when a handle is first grabbed. | | `.touchUpInside`(no) | Called when a handle is let go. | | `.valueChanged` | Called whenever the color has changed. | | `.touchDragInside`(no) | Called when a handle has moved via a drag action. | | `.touchUpInside` | Called when a handle is released. | _ChromaBrightnessSlider_ | Event | Description | | :-----------------:|:-------------| | `.touchDown` | Called when a the slider is grabbed. | | `.valueChanged` | Called whenever the slider is moved and the value has changed. | | `.touchUpInside` | Called when the slider handle is released. | ##### Example ```Swift ``` ## License ChromaColorPicker is available under the MIT license. See the LICENSE file for more info.