diff --git a/CircularSlider/Classes/CircularSlider.swift b/CircularSlider/Classes/CircularSlider.swift index 6b87cc0..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 } @@ -136,12 +138,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 @@ -403,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() {