RAScrollablePickerView

Preview

> Lightweight HSB color picker view in Swift. ## Install ### Carthage Add the following to your Cartfile: ``` github "naturaln0va/RAScrollablePickerView" ``` The build the Cartfile: ``` carthage update --platform iOS ``` Then drag `Carthage/Build/iOS/RAScrollablePickerView.framework` into your Xcode project. Finally add the import: ``` import RAScrollablePickerView ``` ### Manual Just drop `Framework/RAScrollablePickerView/RAScrollablePickerView/RAScrollablePickerView.swift` in your project. ## Usage Then create 3 instances of the scrollable picker view and assign each a different type. ``` swift huePicker.delegate = self saturationPicker.delegate = self saturationPicker.type = .saturation saturationPicker.hueValueForPreview = huePicker.value brightnessPicker.delegate = self brightnessPicker.type = .brightness brightnessPicker.hueValueForPreview = huePicker.value ``` Finally make sure the parent view/viewcontroller conforms to RAScrollablePickerViewDelegate and add the required valueChanged method. ``` swift func valueChanged(_ value: CGFloat, type: PickerType) { switch type { case .hue: colorPreView.backgroundColor = UIColor(hue: value, saturation: saturationPicker.value, brightness: brightnessPicker.value, alpha: 1) saturationPicker.hueValueForPreview = value brightnessPicker.hueValueForPreview = value case .saturation: colorPreView.backgroundColor = UIColor(hue: huePicker.value, saturation: value, brightness: brightnessPicker.value, alpha: 1) case .brightness: colorPreView.backgroundColor = UIColor(hue: huePicker.value, saturation: saturationPicker.value, brightness: value, alpha: 1) } } ``` ### Update a picker with a color ```swift let colors: [UIColor] = [.systemBlue, .systemOrange, .systemYellow] let startColor = colors.randomElement() ?? .systemPink picker.set(color: startColor) ``` ## Contact Feel free the reach out to me if you have an questions. - https://twitter.com/naturaln0va - https://ackermann.io