From 66e6f9b321d5dc655453ce51fe5224e6cec082a2 Mon Sep 17 00:00:00 2001 From: Francois Nadeau Date: Wed, 4 Apr 2018 11:04:41 -0400 Subject: [PATCH 1/2] BUG Fix: Changing color values in IB has no effect Changing either the colors pgNormalColor or pgHighlightedColor in IB does not have any effect in IB and the app when it is executed. Adding these two lines fixes that problem. --- CircularSlider/Classes/CircularSlider.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CircularSlider/Classes/CircularSlider.swift b/CircularSlider/Classes/CircularSlider.swift index 6b87cc0..97cbc71 100644 --- a/CircularSlider/Classes/CircularSlider.swift +++ b/CircularSlider/Classes/CircularSlider.swift @@ -136,12 +136,14 @@ open class CircularSlider: UIView { open var pgNormalColor: UIColor = UIColor.darkGray { didSet { appearanceProgressLayer() + appearanceKnobLayer() } } @IBInspectable open var pgHighlightedColor: UIColor = UIColor.green { didSet { appearanceProgressLayer() + appearanceKnobLayer() } } @IBInspectable From 00369a062b3bdf4a6836780c2fde117826f20a80 Mon Sep 17 00:00:00 2001 From: FrancoisNadeau Date: Wed, 4 Apr 2018 11:25:49 -0400 Subject: [PATCH 2/2] DelegateUpdate : Added hooks to know when the user begins and ends changing the knob value --- CircularSlider/Classes/CircularSlider.swift | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CircularSlider/Classes/CircularSlider.swift b/CircularSlider/Classes/CircularSlider.swift index 97cbc71..26889ec 100644 --- a/CircularSlider/Classes/CircularSlider.swift +++ b/CircularSlider/Classes/CircularSlider.swift @@ -14,6 +14,8 @@ import UIKit @objc optional func circularSlider(_ circularSlider: CircularSlider, valueForValue value: Float) -> Float @objc optional func circularSlider(_ circularSlider: CircularSlider, didBeginEditing textfield: UITextField) @objc optional func circularSlider(_ circularSlider: CircularSlider, didEndEditing textfield: UITextField) + @objc optional func circularSlider(_ circularSlider: CircularSlider, didBeginValueChange value: Float) + @objc optional func circularSlider(_ circularSlider: CircularSlider, didEndValueChange value: Float) // optional func circularSlider(circularSlider: CircularSlider, attributeTextForValue value: Float) -> NSAttributedString } @@ -405,6 +407,17 @@ open class CircularSlider: UIView { let valueForAngle = Float(rotationAngle - startAngle) / Float(angleRange) * valueRange + minimumValue setValue(valueForAngle, animated: false) + + switch gesture.state { + case .began: + delegate?.circularSlider?(self, didBeginValueChange: valueForAngle) + break + case .ended: + delegate?.circularSlider?(self, didEndValueChange: valueForAngle) + break + default: + break + } } func cancelAnimation() {