Compose SwiftUIv0.4.0
esc
GuideAPIGitHub
View

Slider

A control that picks a value in a continuous range.

iOS 17.0+macOS 14.0+tvOS: unavailable (no-op)watchOS 10.0+
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =

Overview

Slider(value = volume, bounds = 0.0..1.0, onValueChange = { volume = it })

This is the Kotlin form of SwiftUI Slider.init(value:in:label:minimumValueLabel:maximumValueLabel:onEditingChanged:): SwiftUI documentation. In Swift it reads:

@export(implementation) nonisolated init<V>(value: Binding<V>, in bounds: ClosedRange<V> = 0...1, @ContentBuilder label: () -> Label, @ContentBuilder minimumValueLabel: () -> ValueLabel, @ContentBuilder maximumValueLabel: () -> ValueLabel, onEditingChanged: @escaping (Bool) -> Void = { _ in }) where V : BinaryFloatingPoint, V.Stride : BinaryFloatingPoint

Topics

Creating a Slider

fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, neutralValue: Double? = null, enabledBounds: ClosedFloatingPointRange<Double>? = null, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:neutralValue:enabledBounds:label:currentValueLabel:minimumValueLabel:maximumValueLabel:onEditingChanged:) · iOS 26.0+, macOS 26.0+, tvOS: unavailable (no-op), watchOS 26.0+
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, step: Double = 1.0, neutralValue: Double? = null, enabledBounds: ClosedFloatingPointRange<Double>? = null, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:step:neutralValue:enabledBounds:label:currentValueLabel:minimumValueLabel:maximumValueLabel:tick:onEditingChanged:) · iOS 26.0+, macOS 26.0+, tvOS: unavailable (no-op), watchOS 26.0+
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, step: Double = 1.0, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:step:label:minimumValueLabel:maximumValueLabel:onEditingChanged:)
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:label:minimumValueLabel:maximumValueLabel:onEditingChanged:)
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:onEditingChanged:label:)
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, step: Double = 1.0, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:step:onEditingChanged:label:)
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:onEditingChanged:)
fun Slider(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, step: Double = 1.0, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:step:onEditingChanged:)
fun Slider(value: Double? = null, bounds: ClosedFloatingPointRange<Double>? = null, step: Double? = null, modifier: Modifier = Modifier, onValueChange: ((Double) -> Unit)? = null, onEditingChanged: ((Boolean) -> Unit)? = null, content: (@Composable () -> Unit)? = null)
SwiftUI Slider · (e.g. Image(systemName = SFSymbol.star)).

Methods

fun SliderValue(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, step: Double = 1.0, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:step:label:onEditingChanged:)
fun SliderValue(value: Double, bounds: ClosedFloatingPointRange<Double>, modifier: Modifier = Modifier, onValueChange: (Double) -> Unit, onEditingChanged: (Boolean) -> Unit =
SwiftUI Slider.init(value:in:label:onEditingChanged:)