diff --git a/Example/IGColorPicker/SquareColorViewController.swift b/Example/IGColorPicker/SquareColorViewController.swift index fb1d28e..b54df56 100644 --- a/Example/IGColorPicker/SquareColorViewController.swift +++ b/Example/IGColorPicker/SquareColorViewController.swift @@ -24,7 +24,7 @@ class SquareColorPickerViewController: UIViewController, ColorPickerViewDelegate // Setup color picker colorPickerView.delegate = self colorPickerView.layoutDelegate = self - colorPickerView.isSelectedColorTappable = false + colorPickerView.isSelectedColorTappable = true colorPickerView.style = .square colorPickerView.selectionStyle = .check colorPickerView.backgroundColor = .clear @@ -38,9 +38,14 @@ class SquareColorPickerViewController: UIViewController, ColorPickerViewDelegate // MARK: - ColorPickerViewDelegate func colorPickerView(_ colorPickerView: ColorPickerView, didSelectItemAt indexPath: IndexPath) { + print("select index \(indexPath.item)") + self.view.backgroundColor = colorPickerView.colors[indexPath.item] } + func colorPickerView(_ colorPickerView: ColorPickerView, didDeselectItemAt indexPath: IndexPath) { + print("deselect index \(indexPath.item)") + } // MARK: - ColorPickerViewDelegateFlowLayout diff --git a/IGColorPicker.podspec b/IGColorPicker.podspec index cc1a0fa..d553961 100644 --- a/IGColorPicker.podspec +++ b/IGColorPicker.podspec @@ -16,5 +16,5 @@ s.ios.deployment_target = '8.0' s.source_files = 'IGColorPicker/Classes/**/*' -s.dependency 'M13Checkbox', '~> 2.2.0' +s.dependency 'M13Checkbox', '~> 3.2.1' end diff --git a/IGColorPicker/Classes/View/ColorPickerView.swift b/IGColorPicker/Classes/View/ColorPickerView.swift index 249ae59..42d2ac5 100644 --- a/IGColorPicker/Classes/View/ColorPickerView.swift +++ b/IGColorPicker/Classes/View/ColorPickerView.swift @@ -57,6 +57,11 @@ open class ColorPickerView: UIView, UICollectionViewDelegate, UICollectionViewDa if let index = preselectedIndex { guard index >= 0, colors.indices.contains(index) else { + if _indexOfSelectedColor != nil { + _indexOfSelectedColor = nil + collectionView.reloadData() + } + print("ERROR ColorPickerView - preselectedItem out of colors range") return } @@ -129,6 +134,7 @@ open class ColorPickerView: UIView, UICollectionViewDelegate, UICollectionViewDa if isSelectedColorTappable { _indexOfSelectedColor = nil colorPickerCell.checkbox.setCheckState(.unchecked, animated: animated) + delegate?.colorPickerView?(self, didDeselectItemAt: indexPath) } return }