Fundamentos de SwiftUI y desarrollo de Interfaces
Desarrolla Apps Increíbles: primeros pasos con SwiftUI
Creación de views y uso de preview
Personalización de views con modifiers y uso de shapes
Image render
Composición de Layouts con Stacks
ScrollView y carousel
List y ForEach
Estructurando nuestra app
Quiz: Fundamentos de SwiftUI y desarrollo de Interfaces
Interacción del Usuario y Componentes de Entrada
Button y manejo de estado con @State
Text Field y Text Editor
Picker y DatePicker
Toggle y Slider
Formularios
Alertas y Modales
Gestures
Animaciones y uso del ProgressView
Quiz: Interacción del Usuario y Componentes de Entrada
Manejo del Estado y Arquitectura con ViewModels
ViewModels y @ObservedObject
Compartir Datos con @EnvironmentObject
Creación de Componentes Reutilizables con @Binding
Quiz: Manejo del Estado y Arquitectura con ViewModels
Navegación Avanzada
Navegación con NavigationStack
Personalización de la Barra de Navegación
Quiz: Navegación Avanzada
Lanzamiento de la app
Funcionalidades extra
Lanzamiento en simulador
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
SwiftUI nos permite integrar gestos, interpretando interacciones físicas del usuario como taps o arrastres. Este conocimiento no solo transforma la experiencia del usuario, sino que también lleva el diseño de apps a otro nivel.
Iniciaremos nuestro proyecto creando un archivo SwiftUI en Xcode que llamaremos GesturesPractice
. Dentro de este archivo trabajaremos con un elemento visual, en este caso, un círculo, que cambiará de color al detectar distintos gestos.
Para lograrlo, primero declaramos un estado de tipo Color
:
@State private var color: Color = .black
Este estado controlará el color inicial del círculo, que será negro.
El gesto tap es uno de los más comunes y permite cambiar el color del círculo tras un toque. Utilizamos el modificador onTapGesture
, que ejecuta un bloque de código para transformar el color de negro a rojo:
Circle()
.foregroundColor(color)
.onTapGesture {
color = .red
}
Además, se puede modificar el comportamiento del tap a través de un parámetro llamado count
, que controla el número de taps necesarios para activar el código:
.onTapGesture(count: 2) {
color = .red
}
El gesto de presionar largo añade otra dimensión de interactividad. Con onLongPressGesture
, el usuario puede cambiar el color a azul al mantener presionado el círculo. Permite una personalización adicional gracias al atributo minimumDuration
, que establece la duración del gesto:
.onLongPressGesture(minimumDuration: 3) {
color = .blue
}
El drag permite mover elementos de la pantalla de forma dinámica. Añadimos el gesture
modifier con un DragGesture
y rastreamos el desplazamiento usando un estado offset
de tipo CGSize
:
@State private var offset = CGSize.zero
Circle()
.offset(offset)
.gesture(DragGesture().onChanged { value in
offset = value.translation
})
Este gesto proporciona un control directo del valor offset
que se traduce en la posición del círculo en pantalla.
Entender y utilizar gestos en SwiftUI transforma cualquier app, añadiendo fluidez y mejorando significativamente la experiencia del usuario. Estos elementos son ideales para hacer interfaces más interactivas y reactivas. Así que adelante, explora más allá de lo que ves a primera vista y lleva tus habilidades de desarrollo móvil al siguiente nivel.
Aportes 0
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?