<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/Slider/init(value:in:step:neutralValue:enabledBounds:label:currentValueLabel:minimumValueLabel:maximumValueLabel:tick:onEditingChanged:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI6SliderV5value2in4step12neutralValue13enabledBounds5label07currentH5Label07minimumhM007maximumhM04tick16onEditingChangedACyxq_GAA7BindingVyqd__G_SNyqd__G6StrideQyd__qd__SgASSgxyXEqd_0_yXEq_yXEq_yXEAA0C4TickVyqd__GSgqd__XEySbctcSBRd__AA4ViewRd_0_SBAURQr0_lufc"
  },
  "title" : "init(value:in:step:neutralValue:enabledBounds:label:currentValueLabel:minimumValueLabel:maximumValueLabel:tick:onEditingChanged:)"
}
-->

# init(value:in:step:neutralValue:enabledBounds:label:currentValueLabel:minimumValueLabel:maximumValueLabel:tick:onEditingChanged:)

Creates a slider to select a value from a given range, subject to a
step increment, which displays the provided labels and customizable ticks.

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

## Parameters

`value`

The selected value within `bounds`.

`bounds`

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

`step`

The distance between each valid value.

`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`.

`tick`

The tick representing each step. Defaults to `nil`.

`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.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)