ColorSlider是一个使用Swift编写的iOS颜色选取器,具有实时预览功能。
特性 | |
---|---|
"Snapchat 风格"颜色选取器 | |
可扩展的实时预览 | |
可自定义外观 | |
垂直和水平支持 | |
包含黑白颜色 | |
全面文档 | |
Swift 5 |
用法
在视图中创建并添加ColorSlider
let colorSlider = ColorSlider(orientation: .vertical, previewSide: .left)
colorSlider.frame = CGRect(x: 0, y: 0, width: 12, height: 150)
view.addSubview(colorSlider)
使用UIControlEvents
响应该颜色变化
colorSlider.addTarget(self, action: #selector(changedColor(_:)), forControlEvents: .valueChanged)
func changedColor(_ slider: ColorSlider) {
var color = slider.color
// ...
}
自定义外观属性
// Add a border
colorSlider.gradientView.layer.borderWidth = 2.0
colorSlider.gradientView.layer.borderColor = UIColor.white.cgColor
// Disable rounded corners
colorSlider.gradientView.automaticallyAdjustsCornerRadius = false
预览
ColorSlider有一个实时预览,会跟踪在其上的触摸。您可以自定义它
let previewView = ColorSlider.DefaultPreviewView()
previewView.side = .right
previewView.animationDuration = 0.2
previewView.offsetAmount = 50
let colorSlider = ColorSlider(orientation: .vertical, previewView: previewView)
通过继承DefaultPreviewView
或在你自己的UIView
子类中实现ColorSliderPreviewing
来创建自己的实时预览。然后,只需将您的预览实例传递给初始化器
let customPreviewView = MyCustomPreviewView()
let colorSlider = ColorSlider(orientation: .vertical, previewView: customPreviewView)
当触摸在滑块上移动时,ColorSlider将自动更新视图的center
。默认情况下,它也会自动调整预览的大小。将colorSlider.autoresizesSubviews
设置为false
来禁用自动调整大小。
要禁用预览,只需在ColorSlider的初始化器中传递nil
let colorSlider = ColorSlider(orientation: .vertical, previewView: nil)
请参阅文档以获取有关自定义预览的更多详细信息。
文档
ColorSlider提供了完整的文档,请参阅此处。
安装
CocoaPods
platform :ios, '9.0'
pod 'ColorSlider', '~> 4.4'
Carthage
github "gizmosachin/ColorSlider" >= 4.4
版本兼容性
Swift 版本 | ColorSlider 版本 |
---|---|
5.0 | master |
4.2 | 4.3 |
示例
请查阅示例
目录中的基本iOS项目,该项目使用了ColorSlider
。
贡献
ColorSlider是一款社区驱动项目 - 欢迎贡献和讨论!
在提交Pull Request之前,请阅读贡献指南。
授权
ColorSlider遵循MIT授权协议,更多信息请见授权文件。