Swift MIT

Sliders-SwiftUI

Collection of unique fully customizable SwiftUI sliders, joysticks, trackpads and more!

K

kieranb662

Dernière activité 13 mars 2026
kieranb662/Sliders-SwiftUI

738

étoiles

54

forks

1

issues ouvertes

colorpickerjoystickslidersswiftswift-package-managerswiftuiuiui-components

Ce README est souvent en anglais.

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

Control Description Docs
LSlider A linear slider that works at any angle and scales its track to the available space. Guide · Tutorial
DoubleLSlider A linear range slider with two thumbs and a draggable active-track segment. Guide · Tutorial
RSlider A circular slider whose thumb travels around a configurable arc. Guide · Tutorial
DoubleRSlider A circular range slider with two thumbs and a draggable active-track arc. Guide · Tutorial
TrackPad A 2-D slider that maps horizontal and vertical drag to two independent values. Guide · Tutorial
RadialPad A joystick-style 2-D control that retains its position after the drag ends. Guide · Tutorial
Joystick An on-screen joystick that appears wherever the user drags within a hit-box. Guide · Tutorial
PSlider Turns any SwiftUI Shape into a slider whose thumb travels along the shape's path. Guide · Tutorial
OverflowSlider A 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

Platform Minimum Version
iOS 26
macOS 26
watchOS 26

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

Resource Link
API Reference kieranb662.github.io/Sliders-SwiftUI/documentation/sliders
Tutorials kieranb662.github.io/Sliders-SwiftUI/tutorials/sliders
Example Project SlidersExamples

License

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

Projets similaires

SwiftUI Color Pickers, Gradient Pickers And All The Utilities Needed To Make Your Own!

Swiftcolor-pickerdesigngradient
Kkieranb662
226 étoiles37

CompactSlider is a SwiftUI control for macOS, iOS, watchOS and visionOS.

Swiftcontroliosipados
Bbuh
566 étoiles41

SwiftUI Package for Configurable Confetti Animation 🎉

Swiftanimationswiftui
Ssimibac
2,5 k étoiles174