README.md

March 13, 2026 · View on GitHub

SwiftUI Swift 6.0 Swift Package Manager kieranb662 followers

Sliders is a collection of fully stylable, drag-based SwiftUI controls — linear, radial, range, 2-D, and path sliders — designed to fill the gaps the standard toolkit leaves behind. Every control scales to its container, accepts custom styles, and optionally provides tick marks with haptic feedback. You can try them all out quickly by cloning the example project

Activity Rings Gif

📖 Full API reference & tutorials are available on the hosted documentation site.


Controls at a Glance

ControlDescriptionDocs
LSliderA linear slider that works at any angle and scales its track to the available space.Guide · Tutorial
DoubleLSliderA linear range slider with two thumbs and a draggable active-track segment.Guide · Tutorial
RSliderA circular slider whose thumb travels around a configurable arc.Guide · Tutorial
DoubleRSliderA circular range slider with two thumbs and a draggable active-track arc.Guide · Tutorial
TrackPadA 2-D slider that maps horizontal and vertical drag to two independent values.Guide · Tutorial
RadialPadA joystick-style 2-D control that retains its position after the drag ends.Guide · Tutorial
JoystickAn on-screen joystick that appears wherever the user drags within a hit-box.Guide · Tutorial
PSliderTurns any SwiftUI Shape into a slider whose thumb travels along the shape's path.Guide · Tutorial
OverflowSliderA meter-style slider with two moving parts — thumb and track — and velocity gestures.Guide · Tutorial

Quick Start

import Sliders

struct ContentView: View {
    @State private var value = 0.5

    var body: some View {
        LSlider($value, range: 0...1, keepThumbInTrack: true, trackThickness: 20)
            .frame(height: 60)
            .padding()
    }
}

Every control follows the same styling pattern — conform to a style protocol and apply it with a modifier:

VStack {
    LSlider($red,   range: 0...1)
    LSlider($green, range: 0...1)
    LSlider($blue,  range: 0...1)
}
.linearSliderStyle(MyLSliderStyle())

Requirements

PlatformMinimum Version
iOS26
macOS26
watchOS26

Installation

Add the package via Swift Package Manager:

  1. In Xcode, go to File → Add Package Dependencies.
  2. Paste the repository URL: https://github.com/kieranb662/Sliders-SwiftUI.
  3. Select a minimum version and add the package to your target.

Or add it directly to your Package.swift:

dependencies: [
    .package(url: "https://github.com/kieranb662/Sliders-SwiftUI", from: "1.0.0")
]

Documentation

ResourceLink
API Referencekieranb662.github.io/Sliders-SwiftUI/documentation/sliders
Tutorialskieranb662.github.io/Sliders-SwiftUI/tutorials/sliders
Example ProjectSlidersExamples

License

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