- 1

Creación de Apps Modernas con SwiftUI
01:30 - 2

Desarrollo de Aplicaciones con Swift UI y Xcode
04:06 - 3

Uso de Modifiers en SwiftUI para Personalizar Vistas
09:02 - 4

Dibujo y Personalización de Íconos e Imágenes en Xcode
06:26 - 5

Creación de Layouts Complejos con Stacks en SwiftUI
09:14 - 6

Scroll View y Stacks: Creación de Listas y Carruseles en SwiftUI
06:31 - 7

Listas nativas y optimización de memoria en SwiftUI
07:05 - 8

Buenas prácticas en SwiftUI: Creación y organización de vistas y modelos
09:07 quiz de Fundamentos de SwiftUI y desarrollo de Interfaces
Navegación y Detalles en SwiftUI: Conexión de Listas y Vistas
Clase 20 de 23 • Curso de Desarrollo de Aplicaciones con SwiftUI
Contenido del curso
- 9

Creación y Funcionalidad de Botones en SwiftUI
05:00 - 10

Uso de Text Field y Text Editor con Validaciones en SwiftUI
08:41 - 11

Uso de Pickers en SwiftUI para Selección de Fechas y Opciones
08:56 - 12

Implementación de Sliders y Toggles en SwiftUI
05:40 - 13

Formulario de Notas en SwiftUI: Creación y Personalización
09:52 - 14

Creación y Uso de Alertas y Sheets en SwiftUI
08:49 - 15

Gestos en SwiftUI: Tap, Long Press y Drag en Xcode
04:51 - 16
Animaciones y Transiciones en SwiftUI con ProgressView
04:35 quiz de Interacción del Usuario y Componentes de Entrada
En SwiftUI, la navegación eficiente entre vistas es esencial para crear aplicaciones intuitivas y funcionales. Aprenderás a utilizar NavigationStack, NavigationDestination, y estados para gestionar la navegación y el intercambio de datos entre vistas.
¿Cómo se crea una vista de detalle?
Para trasladarte a una vista de detalle, primero necesitas definir esa vista. Sigamos estos pasos para crearla y configurarla adecuadamente:
- Crear el archivo de la vista de detalle:
- En tu proyecto, crea un nuevo archivo de tipo
SwiftUI. Dale un nombre descriptivo comoDetailView.
- Definir la estructura base:
- Asegúrate de crear una propiedad que represente el objeto que pinta la vista de detalle. Puedes usar
@Statepara declarar una propiedad comocard, de tipoCard.
- Configurar el contenido principal:
- Utiliza un
ScrollViewpara lograr desplazamiento vertical si el contenido es extenso. - Personaliza la apariencia usando propiedades como
CornerRadiusypadding.
- Configurar el contenido dentro de
ScrollView:
- Implementa un
VStackcon el espacio deseado entre elementos, ideal para agregar múltiples textos, como el título y el cuerpo del contenido.
ScrollView {
VStack(spacing: 20) {
Text(card.title)
.font(.largeTitle)
.frame(maxWidth: .infinity)
.multilineTextAlignment(.leading)
Text(card.text)
.font(.body)
.frame(maxWidth: .infinity)
.multilineTextAlignment(.leading)
}
.background(Color.white)
.cornerRadius(16)
.padding()
.background(Color.cyan.opacity(0.2))
}
¿Cómo se conecta la lista con la vista de detalle?
Una vez creada la vista de detalle, es crucial ligarla a la lista inicial. Esto permite que al seleccionar un elemento de la lista, se muestre la vista correspondiente:
- Envolver la lista en un
NavigationStack:
- Envuelve tu lista dentro de un
NavigationStackpara habilitar la navegación.
- Configurar
NavigationDestination:
- Usa el modificador
navigationDestinationpara especificar hacia dónde navegar al seleccionar un elemento en la lista.
- Definir los estados necesarios:
- Introduce un estado booleano como
showDetailspara gestionar cuándo mostrar la vista de detalle. - Declara un estado opcional para el
selectedCard, representando el card seleccionado.
@State private var showDetails = false
@State private var selectedCard: Card?
var body: some View {
NavigationStack {
List(cards) { card in
CardView(card: card)
.onTapGesture {
selectedCard = card
showDetails = true
}
}
.navigationDestination(isPresented: $showDetails) {
if let card = selectedCard {
DetailView(card: card)
}
}
}
}
¿Qué herramientas se utilizan para la interacción entre vistas?
onTapGesture:
- Ejecuta acciones al detectar interacciones. Úsalo para gestionar qué se hace al tocar un elemento, como actualizar el estado del seleccionado.
- Estados (
@State):
- Estrategia principal para compartir y manejar el estado entre las vistas. Usa
Statespara controlar qué datos se ven en la vista de destino y cuándo debe mostrarse.
Estos conceptos y prácticas te permitirán crear aplicaciones robustas y navegar entre vistas de forma fluida en SwiftUI. ¡Sigue explorando SwiftUI y aplicando estos conocimientos a tus proyectos personales!