- 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
Personalización de Tool Bar y Navegación con TabViews en SwiftUI
Clase 21 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
Con SwiftUI, podemos ajustar fácilmente el estilo, el tamaño del texto, y el color de fondo del tool bar o barra de navegación para hacerla más acorde con la identidad visual de nuestra aplicación.
Ajustar el título de la navegación
Para comenzar, necesitamos añadir un título a nuestra barra de navegación. Esto se hace usando navigationTitle en el código. A continuación, puedes especificar el texto que deseas que aparezca, por ejemplo, "notes". Si te parece que el texto es demasiado grande, puedes modificar este aspecto utilizando navigationBarTitleDisplayMode, que acepta dos estilos: inline para texto pequeño y centrado, y large por defecto.
.navigationTitle("Notes")
.navigationBarTitleDisplayMode(.inline)
Cambiar el fondo de la barra de navegación
Cambiar el color de fondo puede mejorar la estética de la interfaz de usuario. Utilizamos el modificador toolbarBackground, que recibe un color y una opacidad. Al asignar un color como cyan y ajustar la opacidad, le damos un nuevo aspecto al fondo.
.toolbarBackground(Color.cyan.opacity(0.4), for: .navigationBar)
Cabe destacar que el cambio puede no ser inmediatamente visible en la vista previa debido a cómo SwiftUI maneja las barras de herramientas al hacer scroll.
¿Cómo agregar un botón en la barra de herramientas?
Agregar funcionalidad interactiva en la barra de herramientas puede mejorar significativamente la utilidad de la aplicación. Aquí, aprenderemos a añadir un botón al lado derecho del título en la barra de navegación.
Crear un botón básico
El botón puede ser adicionado usando el modificador toolbar. Inicialmente, creamos un botón básico con texto como "create note" que, aunque no realice ninguna acción al principio, actúa como un marcador visual.
.toolbar {
Button("Create Note") {
// Acciones del botón
}
}
Reemplazar el texto por un ícono
Si prefieres utilizar un ícono en lugar de texto, puedes reemplazarlo con un label que contenga una imagen del sistema, como un símbolo de "+".
.toolbar {
Button(action: {
// Acciones del botón
}) {
Label("Create", systemImage: "plus")
}
}
Añadir funcionalidad al botón
Para que el botón realice una acción, como mostrar una hoja o sheet, simplemente elimina el overlay existente y añade el código necesario directamente al botón.
Button(action: {
showSheet = true
}) {
Label("Create", systemImage: "plus")
}
¿Cómo implementar navegación con TabViews?
Las TabViews permiten entregar múltiples pantallas organizadas de forma clara y accesible. En el ejemplo a continuación, creamos dos panoramas: una lista de notas y otra de favoritos.
Configurar las TabViews
Para implementar, inicializamos un TabView dentro de nuestra ContentView y envolvemos cada ítem en TabItem con un label que define su icono y título.
TabView {
ListView(data: allNotes)
.tabItem {
Label("Home", systemImage: "house")
}
ListView(data: favoriteNotes)
.tabItem {
Label("Favorites", systemImage: "heart.fill")
}
}
Manejar listas de datos
Para que cada TabView muestre datos diferentes, es vital configurar listas separadas. Usa un filtro en tu lista de datos para extraer elementos que sean favoritos.
let favoriteNotes = cards.filter { $0.isFavorite }
Personalizar el contenido de cada Tab
Asegúrate de que los listados de la vista contienen los datos correctos añadiendo una bandera como forFavorites para diferenciar la lista regular de la de favoritos.
// En ListView
var forFavorites: Bool = false
// Uso de la bandera
ForEach(forFavorites ? favoriteNotes : allNotes) { note in
// Código para cada nota
}
Desafío práctico
¿Te animas a ir un paso más allá? Intenta implementar una respuesta visual para los íconos de favoritos, como cambiar el color del corazón al rojo cuando una nota es favorita. Esto no solo mejorará la interfaz, sino que también facilitará a los usuarios identificar de un vistazo sus preferencias. ¡Nos encantaría conocer tus implementaciones en los comentarios!