Usando la vista Stepper en SwiftUI

Marcelo Laprea
22 mayo, 20242min de lectura
El Stepper es una vista de control que permite al usuario realizar acciones de incremento o decremento. Se utiliza para permitir al usuario aumentar o disminuir un valor dentro de un rango predefinido. Veamos un ejemplo:
import SwiftUIstruct ContentView: View {// 1@State var quantity = 0var body: some View {// 2Stepper("Quantity: \(quantity)", value: $quantity, in: 0...50).padding(.horizontal)}}
- Creamos una variable de estado de tipo
Int, donde almacenaremos el valor delStepper. - Creamos el
Stepper, indicando un título, su valorBindingy el rango en el que estará, en nuestro caso queremos que vaya de 0 a 50.
Con el Stepper, los usuarios pueden ajustar fácilmente valores numéricos dentro de un rango específico. Esta vista es especialmente útil para seleccionar cantidades, ajustes de configuración y otras acciones de ajuste de valores.
Tomando el control del Stepper
Si queremos tener mas control sobre el valor que cambia al usar el Stepper, podemos usar uno de sus completionHandler como el onIncrement y el onDecrement. Veamos como:
Stepper("Quantity: \(quantity)") {// 1quantity += 2} onDecrement: {// 2quantity -= 2}.padding(.horizontal)
- Estamos usando el
completionHandleronIncrement, por lo que cada vez que se ejecuta, vamos a sumarle 2 a nuestra variablequantity. - Ahora usamos
onDecrement, para restarle 2 a nuestra variablequantity.
Además de estos dos completionHandler, también tenemos el onEditingChanged, que se ejecuta cada vez la edición empieza y termina. Por ejemplo, si se deja pulsado, el onEditingChanged se ejecutará al empezar y al terminar el gesto de pulsar el botón. Veamos como funciona:
Stepper("Quantity: \(quantity)", value: $quantity, in: 0...100) { changed in// 1print(changed)}
- Al inciar el gesto, la variable
changedserátruey al terminar el gesto seráfalse.