IGColorPicker是一个非常出色的颜色选择器
目录
文档
颜色
颜色选择器附带我们的一组颜色
但如果你不喜欢这些颜色,你也可以使用你自己的颜色
colorPickerView.colors = [UIColor.red, UIColor.yellow, UIColor.green, UIColor.black]
样式
其他功能
-
preselectedIndex
Int?
:在颜色选择器中预选颜色的索引 -
isSelectedColorTappable
Bool
:如果为真,则可以通过点击取消选择已选择的颜色 -
scrollToPreselectedIndex
Bool
:如果为真,预选索引将显示在颜色选择器的中心
安装
IGColorPicker可通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile
pod 'IGColorPicker'
示例
要运行示例项目,请先克隆仓库,然后在示例目录中运行pod install
。
入门
ColorPickerView
ColorPickerView
只是一个从UIView
继承的类,因此您可以使用Storyboard或编程方式创建颜色选择器
Storyboard
- 在Storyboard中添加一个
UIView
。转到身份检查器,将其类设置为ColorPickerView
。 - 只需将视图拖放到正确的类即可 🤙🏻
以编程方式
只需像初始化UIView
一样初始化颜色选择器,并将其添加到视图层次结构中即可。
import IGColorPicker
class ViewController {
var colorPickerView: ColorPickerView!
override func viewDidLoad() {
super.viewDidLoad()
colorPickerView = ColorPickerView(frame: CGRect(x: 0.0, y: 0.0, width: widthSize, height: heightSize))
view.addSubview(colorPickerView)
}
}
委托
ColorPickerViewDelegate
是识别颜色上的点击手势的委托协议。这是一个可选的委托,但如果需要知道用户选择了哪种颜色,则应该实现它。
// Set the delegate 🙋🏻♂️
colorPickerView.delegate = self
// MARK: - ColorPickerViewDelegate
extension ViewController: ColorPickerViewDelegate {
func colorPickerView(_ colorPickerView: ColorPickerView, didSelectItemAt indexPath: IndexPath) {
// A color has been selected
}
// This is an optional method
func colorPickerView(_ colorPickerView: ColorPickerView, didDeselectItemAt indexPath: IndexPath) {
// A color has been deselected
}
}
布局
每个开发者都可以根据自己的设计定制颜色选择器布局。为此,您必须实现我们的布局委托ColorPickerViewDelegateFlowLayout
// Set the delegate 🙋🏻♂️
colorPickerView.layoutDelegate = self
// MARK: - ColorPickerViewDelegateFlowLayout
extension ViewController: ColorPickerViewDelegateFlowLayout {
// ------------------------------------------------------------------
// All these methods are optionals, your are not to implement them 🖖🏻
// ------------------------------------------------------------------
func colorPickerView(_ colorPickerView: ColorPickerView, sizeForItemAt indexPath: IndexPath) -> CGSize {
// The size for each cell
// 👉🏻 WIDTH AND HEIGHT MUST BE EQUALS!
}
func colorPickerView(_ colorPickerView: ColorPickerView, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
// Space between cells
}
func colorPickerView(_ colorPickerView: ColorPickerView, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
// Space between rows
}
func colorPickerView(_ colorPickerView: ColorPickerView, insetForSectionAt section: Int) -> UIEdgeInsets {
// Inset used aroud the view
}
}
项目详情
要求
- Swift 4.1
- Xcode 9.0+
- iOS 8.3+
贡献
随时欢迎提出想法进行合作
以下是一个关于错误修复和新功能工作的待办事项列表
- 自定义检查大小
- 支持自定义视图在
ColorPickerViewSelectStyle
中 - 支持在
ColorPickerViewStyle
中自定义样式 - 将
M13Checkbox
替换为另一个框架。或者直接创建一个带有动画的自定义复选框
附注。 如果你在你的应用中使用 IGColorPicker,我们非常乐意听到你的反馈!
许可证
版权所有(c)2018 iGenius Srl
在此特此免费允许任何获得此软件及其相关文档文件(“软件”)副本的人(“许可证持有人”)不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、转授许可和/or 销售软件副本的权利,并允许将软件提供给第三方使用,以便其执行上述行为,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
软件按“现状”提供,不包括任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和不受侵权等方面的保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论这些责任源于合同、侵权或其他原因,并 giguiding from、起源于或与软件或其使用或处理有关。