Contents

init(value:in:neutralValue:enabledBounds:label:currentValueLabel:minimumValueLabel:maximumValueLabel:ticks:onEditingChanged:)

Creates a slider to select a value from a given range, which displays the provided labels and customized ticks.

Declaration

nonisolated init<V>(value: Binding<V>, in bounds: ClosedRange<V> = 0...1, neutralValue: V? = nil, enabledBounds: ClosedRange<V>? = nil, @ViewBuilder label: () -> Label, @ViewBuilder currentValueLabel: () -> some View = { EmptyView() }, @ViewBuilder minimumValueLabel: () -> ValueLabel = { EmptyView() }, @ViewBuilder maximumValueLabel: () -> ValueLabel = { EmptyView() }, @SliderTickBuilder<V> ticks: () -> some SliderTickContent, onEditingChanged: @escaping (Bool) -> Void = { _ in }) where V.Stride : BinaryFloatingPoint

Parameters

  • value:

    The selected value within bounds.

  • bounds:

    The range values. Defaults to 0...1.

  • neutralValue:

    The value’s starting value.

  • enabledBounds:

    The range of selectable values.

  • label:

    A View that describes the purpose of the instance. Not all slider styles show the label, but even in those cases, SwiftUI uses the label for accessibility. For example, VoiceOver uses the label to identify the purpose of the slider.

  • currentValueLabel:

    A view that describes value.

  • minimumValueLabel:

    A view that describes bounds.lowerBound.

  • maximumValueLabel:

    A view that describes bounds.lowerBound.

  • onEditingChanged:

    A callback for when editing begins and ends.

Discussion

The value of the created instance is equal to the position of the given value within bounds, mapped into 0...1.

The slider calls onEditingChanged when editing begins and ends. For example, on iOS, editing begins when the user starts to drag the thumb along the slider’s track.