A simple range slider made in Swift.


This control is IBDesignable and uses the target-action pattern for change notifications.

In order to be notified when either thumb value changes, register for .ValueChanged:

let rangeSlider = RangeSlider(frame: frame)
rangeSlider.addTarget(self, action: #selector(viewController.rangeSliderValueChanged(_:)),
                         for: .valueChanged)


The range slider can be customized and information can be accessed through these properties :

  • minimumValue : The minimum possible value of the range
  • maximumValue : The maximum possible value of the range
  • lowerValue : The value corresponding to the left thumb current position
  • upperValue : The value corresponding to the right thumb current position
  • trackTintColor : The track color
  • trackHighlightTintColor : The color of the section of the track located between the two thumbs
  • thumbTintColor: The thumb color
  • thumbBorderColor: The thumb border color
  • thumbBorderWidth: The width of the thumb border
  • curvaceousness : From 0.0 for square thumbs to 1.0 for circle thumbs


RangeSlider is available through CocoaPods.
To install it, simply add the following line to your Podfile :

pod "WARangeSlider"