Skip to content

UIControl slider that can be dragged from any point within its bounds, similar to those in Control Center and Home.app

License

Notifications You must be signed in to change notification settings

Thejusg/iOS-Tactile-Slider

 
 

Repository files navigation

TactileSlider

CI Status Version License Platform

A slider control designed to be easy to grab and use because it can be dragged or tapped from anywhere along its track, similar to the sliders in Control Center and HomeKit.

Animated gif of TactileSliders animating to values

Features

  • Can be dragged or (optionally) tapped to set a value
  • Supports horizontal and vertical orientation in either direction
  • IBDesignable – colors, values, rounded corners, and behavior can be customized in Interface Builder or programatically
  • Adjustable haptic feedback (iOS 10+)
  • VoiceOver support

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

iOS 8.0+ (iOS 10.0+ required for haptic feedback)

Installation

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

pod 'TactileSlider'

Usage

let slider = TactileSlider(frame: someRect)

slider.minimumValue = 1
slider.maximumValue = 10

slider.setValue(3.8, animated: true)

Setting orientation and direction

slider.vertical = true
slider.reverseValueAxis = true

Adjusting behavior

slider.isContinuous = false
slider.enableTapping = false // allow or disallow tapping anywhere on the slider track to instantly set a value
slider.scaleUpWhenInUse = true // make the slider puff up slightly while being dragged

Changing colors and appearance

slider.trackBackground = UIColor.black.withAlpha(0.8)
slider.thumbTint = UIColor.blue
slider.cornerRadius = 12

Interface Builder

screenshot of Xcode Interface Builder demonstrating a TactileSlider being customized using the graphical interface

Author

Dale Price (@[email protected])

License

TactileSlider is available under the MIT license. See the LICENSE file for more info.

About

UIControl slider that can be dragged from any point within its bounds, similar to those in Control Center and Home.app

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 91.1%
  • Ruby 8.9%