2019-04-14 20:45:19 +03:00
< p align = "center" >
< img src = ".github/Logo.png" width = "480" max-width = "90%" alt = "ChromaColorPicker 2.0" / >
< / p >
2016-08-11 23:42:06 +03:00
2019-04-14 20:45:19 +03:00
< p align = "center" >
< img src = "https://img.shields.io/badge/Swift-5.0-orange.svg" / >
< img src = "https://img.shields.io/badge/platform-iOS-lightgray.svg" / >
< img src = "https://img.shields.io/badge/license-MIT-blue.svg" / >
< img src = "https://img.shields.io/badge/Carthage-compatible-green.svg" / >
< img src = "https://travis-ci.com/joncardasis/ChromaColorPicker.svg?branch=develop" / >
< / p >
2016-08-11 23:42:06 +03:00
2019-04-14 20:45:19 +03:00
An intuitive HSB color picker built in Swift. Supports multiple selection handles and is customizable to your needs.
2017-07-26 00:41:26 +03:00
2019-04-14 20:45:19 +03:00
> TODO: Image / GIF
2016-08-11 23:42:06 +03:00
2019-04-17 06:55:56 +03:00
## 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)`
2019-09-08 23:44:15 +03:00
```
2019-04-17 06:55:56 +03:00
2019-09-08 23:44:15 +03:00
## Usage
### Multiple Handles
```Swift
// Add handles
{TODO}
// Add a custom handle
{TODO}
// Remove handles
{TODO}
2019-04-17 06:55:56 +03:00
```
2019-09-08 23:44:15 +03:00
### Supported UIControlEvents
2019-04-20 01:47:06 +03:00
2016-08-11 23:42:06 +03:00
## Installation
2017-07-24 23:32:12 +03:00
### Carthage
2019-04-20 01:47:06 +03:00
```bash
2017-07-24 23:32:12 +03:00
github "joncardasis/ChromaColorPicker"
```
2016-08-11 23:42:06 +03:00
### Cocoapods
2019-04-20 01:47:06 +03:00
```bash
2016-08-15 19:55:11 +03:00
pod 'ChromaColorPicker'
2016-08-11 23:42:06 +03:00
```
### Manually
2019-04-14 20:45:19 +03:00
Add all files from the `Source` folder to your project.
2016-08-11 23:42:06 +03:00
2019-04-20 01:47:06 +03:00
## Components
2019-04-17 06:55:56 +03:00
### ChromaColorPicker
2019-04-20 01:47:06 +03:00
An HSB color picker with support for adding multiple color selection handles.
2016-09-09 22:33:24 +03:00
2019-04-17 06:55:56 +03:00
### ChromaBrightnessSlider
2019-04-20 01:47:06 +03:00
[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.
2017-07-26 00:31:34 +03:00
2019-04-14 20:45:19 +03:00
### Supported UIControlEvents
2019-09-08 23:44:15 +03:00
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_
2019-04-14 20:45:19 +03:00
| Event | Description |
| :-----------------:|:-------------|
2019-09-09 02:16:58 +03:00
| `.touchDown` (no) | Called when a handle is first grabbed. |
| `.touchUpInside` (no) | Called when a handle is let go. |
2019-04-14 20:45:19 +03:00
| `.valueChanged` | Called whenever the color has changed. |
2019-09-09 02:16:58 +03:00
| `.touchDragInside` (no) | Called when a handle has moved via a drag action. |
| `.touchUpInside` | Called when a handle is released. |
2019-04-14 20:45:19 +03:00
2019-09-08 23:44:15 +03:00
_ChromaBrightnessSlider_
| Event | Description |
| :-----------------:|:-------------|
2019-09-09 02:16:58 +03:00
| `.touchDown` | Called when a the slider is grabbed. |
2019-09-08 23:44:15 +03:00
| `.valueChanged` | Called whenever the slider is moved and the value has changed. |
2019-09-09 02:16:58 +03:00
| `.touchUpInside` | Called when the slider handle is released. |
2019-09-08 23:44:15 +03:00
2019-04-14 20:45:19 +03:00
##### Example
2017-07-26 00:31:34 +03:00
```Swift
```
2016-08-11 23:42:06 +03:00
## License
2016-08-15 19:55:11 +03:00
ChromaColorPicker is available under the MIT license. See the LICENSE file for more info.