Use a stepper control when you want the user to have granular control while incrementing or decrementing a value. For example, you can use a stepper to:
Change a value up or down by 1.
Operate strictly over a prescribed range.
Step by specific amounts over a stepper’s range of possible values.
The example below uses an array that holds a number of Color values, a local state variable, value, to set the control’s background color, and title label. When the user clicks or taps on the stepper’s increment or decrement buttons SwiftUI executes the relevant closure that updates value, wrapping the value to prevent overflow. SwiftUI then re-renders the view, updating the text and background color to match the current index:
structStepperView: View {@Stateprivatevar value =0let colors: [Color] = [.orange, .red, .gray, .blue, .green, .purple, .pink]funcincrementStep() { value +=1if value >= colors.count { value =0 } }funcdecrementStep() { value -=1if value <0 { value = colors.count -1 } }var body: someView {Stepper {Text("Value: \(value) Color: \(colors[value].description)") } onIncrement: { incrementStep() } onDecrement: { decrementStep() } .padding(5) .background(colors[value]) }
}
The following example shows a stepper that displays the effect of incrementing or decrementing a value with the step size of step with the bounds defined by range:
structStepperView: View {@Stateprivatevar value =0let step =5let range =1...50var body: someView {Stepper(value: $value, in: range, step: step) {Text("Current: \(value) in \(range.description) "+"stepping by \(step)") } .padding(10) }}
Creates a stepper that uses a title key and executes the closures you provide when the user clicks or taps the stepper’s increment and decrement buttons.
Available when Label is Text.LabelがTextである時に利用可能です。
Creates a stepper using a title string and that executes closures you provide when the user clicks or taps the stepper’s increment or decrement buttons.
Available when Label is Text.LabelがTextである時に利用可能です。