颜色轮
ColourWheelControl
定义了一个简单的UIKit控件,提供交互式颜色选择功能。该类是 @IBDesignable
,因此可以与XCode的Interface Designer无缝工作。它继承自 UIControl
,因此具有所有常规配置属性和功能,例如背景颜色、边框、UIEvent
等)以及管理其自身布局的能力。
API
初始化器
初始化器继承自 UIControl
。
@IBInspectable属性
-
brightnessEnabled : Bool { get set }
是否在控件中显示/激活可选亮度选择条。当设置为
false
时,所有颜色都将具有默认亮度1.0。警告:该参数应在控制实例化时设置一次;动态更改它可能会产生不可预见的影响。
默认 = true(亮度选择器开启)
-
nBits : UInt { get set }
用于表示颜色分量的比特数(将此设置为3将给每个颜色分量3位,即RGB或HSV的每个分量的级别有8个)。如果您想限制用户可用的调色板,这可能很有用。
默认 = 8(标准24位颜色HSV)
-
colour : UIColor { get set }
当前选中的颜色。写入它会将控制重置为指定颜色。
事件
每当选中的颜色更改时,都会触发标准的 UIEvent.valueChanged
。
事件按常规方法管理 UIControl 实例,因此可以像其他控件一样在 Interface Builder 中连接。
示例
要运行示例项目,请克隆存储库,然后首先从示例目录中运行 pod install
。演示具有 nBits=3
,但这可以进行配置
nBits = 3
nBits = 8
需求
安装
ColorWheel 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod 'ColourWheel'
作者
jdstmporter, [email protected]。
致谢
这是基于 Justin Meiners 编写的 Objective-C 控件的扩展分支。新特性包括
- 移植到 Swift 并针对 iOS 12.0 及以上版本的 Swift 5 进行现代化改造
- 添加自定义亮度选择滑块,样式类似于颜色轮,用于替代原始的
UISlider
- 量化能力
- 改进了“光标”对象以显示在选择器中的鼠标位置
ColourWheelControl
提供了颜色轮、亮度滑块和颜色井,作为一个单个@IBDesignable
控制单元,可以在 Interface Builder 中的视图中拖放,并自行管理
此外,还要感谢 ConfusedVorlon 提醒我注意某些条件下控制单元会多次构建颜色轮,导致性能下降的问题,以及后续诊断问题和测试修复的协助。这一点有助于 0.5.0 版本中做出的改动。
许可
颜色轮采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。
版本历史
0.6.0 | 使亮度选择控制可选,通过属性设置选择 |
0.5.1 | 扩展文档 |
0.5.0 | 支持 Swift 5 和 iOS 12 的基本功能 增加了检查以避免重复计算轮图形 |
0.4.1 | 更新文档 |
0.4.0 | 引入了量化轮上颜色的功能,以便提供受限的颜色板 |
0.3.0 | 改进了 Pod 打包 |
0.2.0 | 支持 Swift 5 和 iOS 12 |
0.1.0 | 初始版本,支持 Swift 4 和 iOS 11 的基本功能 |