LongPressGesture en SwiftUI en Español
LongPressGesture en SwiftUI lo usamos para lanzar acciones cuando un user presiona una vista y pasan unos segundos. LongPressGesture lo podemos customizar indicando la minimumDuration y el maximumDistance
Tabla de contenido
Hoy en SwiftBeta vamos a aprender a usar otro gesto en SwiftUI. Vamos a aprender el LongPressGesture, este gesto sirve para detectar cuando se está pulsando una vista por un largo tiempo y realizar alguna acción.
LongPressGesture en código
Lo primero de todo que vamos hacer es crear un proyecto de cero. Y aprovechamos el código que tenemos en ContentView, para añadir el modificador onLongPressGesture al Text:
Si mantenemos pulsado el Text, vemos que aparece el mensaje de "Suscríbete a SwiftBeta" por consola.
Podríamos customizar la duración de nuestro LongPressGesture y también si queremos permiter que mientras se está pulsando, el user se mueva por la vista.
En este caso, hemos pasado dos parámetros:
- minimumDuration: queremos que se lance el closure del onLongPressGesture cuando el user pulse durante 3 segundos en la vista.
- maximumDistance: permitimos al user que mientras se está pulsando la vista, se pueda mover hasta una distancia de 50 antes de que el gesto falle. (Si se mueve a más de una distancia de 50 el gesto fallará y se tendrá que volver a pulsar)
Otro ejemplo de LongPressGesture en código
Otra manera de usar el LongPressGesture es usar una instancia de él, en lugar de usar el modificador .onLongPressGesture. Vamos a ver un ejemplo:
En este caso, hemos creado una vista que al pulsar un rectángulo, el color del rectángulo va cambiando. Mientras se está pulsando el rectangulo vemos como varía de verde a azul.
Conclusión
Hemos visto lo simple que es lanzar alguna acción cuando un user toca una vista durante 3 segundos. Para ello hemos usado el LongPressGesture en SwiftUI.