Search code examples
iosswiftrangeslider

Swift - label updates with SwiftRangeSlider


I am trying to work with SwiftRangeSlider implemented by BrianCorbin: https://github.com/BrianCorbin/SwiftRangeSlider

@IBOutlet weak var labelForRangeSlider: UILabel!

@IBOutlet weak var rangeSlider: RangeSlider!

@IBOutlet weak var submitButton: UIButton!

override func viewDidLayoutSubviews() {
    rangeSlider.updateLayerFrames()
}
...

And this shows:

picture for labelForRangeSlider

I want to update "Time", which is labelForRangeSlider, as rangeSlider's lowerValue and upperValue change.


Solution

  • You are supposed to add action for the event .valueChanged for SwiftRangeSlider:

    override func viewDidLoad() {
    
       super.viewDidLoad()
    
       let rangeSlider: RangeSlider = RangeSlider(frame: CGRect(x: 0, y: 0, width: 200, height: 60))
       rangeSlider.addTarget(self, action: #selector(self.rangeSliderValueChanged(slider:)), for: UIControlEvents.valueChanged)
       self.view.addSubview(rangeSlider)
    }
    
    
    @IBAction func rangeSliderValueChanged(slider: RangeSlider) {
        print(slider.lowerValue)
    }