buh / CompactSlider

CompactSlider is a SwiftUI control for macOS, iOS and watchOS.
MIT License
420 stars 27 forks source link
control ios ipados macos slider swift swiftui ui-components watchos

cover3

CompactSlider is a control for selecting a value from a bounded linear range of values.

The slider is a replacement for the build-in slider and is designed specifically for SwiftUI. For me, the main motivation for writing a component that already exists is the very slow performance under macOS (e.g. when you need to resize the screen with multiple sliders or when animating) and the severely outdated design. At the same time, I was inspired by the slider design that Apple's Photos app developed, which makes heavy use of sliders.

Requirements

Some of the requirements could be reduced if there is a demand for them.

Installation

  1. In Xcode go to FileAdd Packages...
  2. Search for the link below and click Add Package
    https://github.com/buh/CompactSlider.git
  3. Select to which target you want to add it and select Add Package

Preview

macOS

https://user-images.githubusercontent.com/284922/166230021-223e1ffb-75e2-41ab-9995-618ccb414f8a.mov

iPadOS

https://user-images.githubusercontent.com/284922/166307680-8dfc706f-9e25-4739-94da-1d655b640e56.mov

iOS

https://user-images.githubusercontent.com/284922/166308017-fab77043-80c7-4567-b096-7fae8ba05967.mov

watchOS

https://user-images.githubusercontent.com/284922/166314399-857a0612-1a47-4bf8-9454-48eb3b63d1ba.mov

Usage

Documentation

You can find the generated DocC documentation here.

https://www.buymeacoffee.com/bukhtin

Support

You can buy me a coffee here ☕️

License

CompactSlider is available under the MIT license