---
title: "init(_:value:in:step:onEditingChanged:)"
framework: swiftui
role: symbol
role_heading: Initializer
path: "swiftui/stepper/init(_:value:in:step:oneditingchanged:)"
---

# init(_:value:in:step:onEditingChanged:)

Creates a stepper instance that increments and decrements a binding to a value, by a step size and within a closed range that you provide.

## Declaration

```swift
nonisolated init<S, V>(_ title: S, value: Binding<V>, in bounds: ClosedRange<V>, step: V.Stride = 1, onEditingChanged: @escaping (Bool) -> Void = { _ in }) where S : StringProtocol, V : Strideable
```

## Parameters

- `title`: A string describing the purpose of the stepper.
- `value`: A doc://com.apple.SwiftUI/documentation/SwiftUI/Binding to a value that your provide.
- `bounds`: A closed range that describes the upper and lower bounds permitted by the stepper.
- `step`: The amount to increment or decrement value each time the user clicks or taps the stepper’s increment or decrement button, respectively. Defaults to 1.
- `onEditingChanged`: A closure that’s called when editing begins and ends. For example, on iOS, the user may touch and hold the increment or decrement buttons on a Stepper which causes the execution of the onEditingChanged closure at the start and end of the gesture.

## Discussion

Discussion Use Stepper(_:value:in:step:onEditingChanged:) to create a stepper that increments or decrements a value within a specific range of values by a specific step size. In the example below, a stepper increments or decrements a binding to value over a range of 1...50 by 5 each time the user clicks or taps the stepper’s increment or decrement buttons: struct StepperView: View {     @State private var value = 0     let step = 5     let range = 1...50

var body: some View {         Stepper("Current: \(value) in \(range.description) stepping by \(step)",                 value: $value,                 in: range,                 step: step)             .padding(10)     } }

## See Also

### Creating a stepper over a range

- [init(value:in:step:label:onEditingChanged:)](swiftui/stepper/init(value:in:step:label:oneditingchanged:).md)
- [init(value:in:step:format:label:onEditingChanged:)](swiftui/stepper/init(value:in:step:format:label:oneditingchanged:).md)
- [init(_:value:in:step:format:onEditingChanged:)](swiftui/stepper/init(_:value:in:step:format:oneditingchanged:).md)
