ChromaColorPicker 2.0.2

ChromaColorPicker 2.0.2

测试已测试
Lang语言 SwiftSwift
许可 MIT
Released上次发布2020年3月
SPM支持 SPM

Jonathan Cardasis 维护。



  • Jonathan Cardasis

ChromaColorPicker 2.0

一款直观的 HSB 颜色选择器,采用 Swift 构建。支持多选处理,并可定制以满足您需求。

ChromaColorPicker GIF

寻找 1.x 版本吗?1.x.x 版本可以在 legacy 分支中找到。虽然该插件仍然可用,但已弃用,项目应迁移到 2.0。

示例

let colorPicker = ChromaColorPicker(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
addSubview(colorPicker)

// 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)`
  • 查看更多《示例》应用。

使用方法

多处理

// Add handle at color
let peachColor = UIColor(red: 1, green: 203 / 255, blue: 164 / 255, alpha: 1)
colorPicker.addHandle(at: peachColor)

// Add handle with reference
let customHandle = ChromaColorHandle()
customHandle.color = UIColor.purple
colorPicker.addHandle(customHandle)

// Add handle and keep reference
let handle = colorPicker.addHandle(at: .blue)

自定义处理图标

let homeHandle = ChomaColorHandle(color: .blue)
let imageView = UIImageView(image: #imageLiteral(resourceName: "home-icon").withRenderingMode(.alwaysTemplate))
imageView.contentMode = .scaleAspectFit
imageView.tintColor = .white
homeHandle.accessoryView = imageView
homeHandle.accessoryViewEdgeInsets = UIEdgeInsets(top: 2, left: 4, bottom: 4, right: 4)

colorPicker.addHandle(homeHandle)

安装

Carthage

github "joncardasis/ChromaColorPicker"

Cocoapods

pod 'ChromaColorPicker'

手动

将源文件夹中的所有文件添加到您的项目中。

组件

组件 描述
ChromaColorPicker 支持添加多个颜色选择手柄的HSB颜色选择器。
ChromaBrightnessSlider 一个可以连接到任何 ChromaColorPicker 的UIControl(通过connect(to:)方法)。ChromaBrightnessSlider 也可以作为一个独立UIControl使用。

支持的UIControlEvents

ChromaBrightnessSliderChromaColorPicker都遵循UIControl协议。每个都会发送UIControlEvents,可以通过UIControl的addTarget方法来观察。

ChromaColorPicker

事件 描述
.valueChanged 每当颜色发生变化时都会调用。
.touchUpInside 当手柄释放时调用。

ChromaBrightnessSlider

事件 描述
.touchDown 当滑动器被抓住时调用。
.valueChanged 每当滑动器移动且值发生变化时调用。
.touchUpInside 当滑动器手柄释放时调用。
// Example
brightnessSlider.addTarget(self, action: #selector(sliderDidValueChange(_:)), for: .valueChanged)

@objc func sliderDidValueChange(_ slider: ChromaBrightnessSlider) {
  print("new color: \(slider.currentColor)")
}

授权协议

ChromaColorPicker可在MIT协议下使用。更多信息请参阅LICENSE文件。