No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
15 Hrs
34 Min
27 Seg

NavigationView, NavigationLink e introducción a múltiples pantallas

20/22
Recursos

Aportes 8

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Si se están preguntando cómo va ser cuando tengan que crear múltiples links, por ejemplo un link por cada item en una lista, no se preocupen que con los forEach esto se automatiza y limpia el código, además de crear rutas y contenido personalizados.

A partir de iOS 16 se usa NavigationStack, me costó entenderlo, pero logré adaptar este ejemplo con la nueva versión, así que ya no sería necesario usar el @State var ni tampoco el botón.

struct NavigationsView: View {
    var body: some View {
        NavigationStack{
            VStack {
                Text("Hello, World!")
                    .navigationTitle("Home ")
                    .navigationBarTitleDisplayMode(/**/.inline/**/)
                    .toolbar {
                        ToolbarItem(placement: .navigationBarTrailing) {
                            
                            NavigationLink("+", destination: DividersView())
                            
                        }
                    }
                
                NavigationLink("Navegar a vista de ImagesView") {
                    ImagesView()
                }
            }
        }
    }
}

A partir de iOS 16.0+ esta forma de implementar los NavigationView y NavigationLink pasa a ser obsoleta (deprecated).
Se recomienda reemplazar los NavigationView por NavigationStack.
Acá pueden ver en detalle la documentación oficial de apple.

La version nueva de NavigationLink es asi,

NavigationLink("Navegar a vista de tabviews")  {
  TabViews()
}

Nota: WhatsApp usa el large y Telegram usa el inline para chat y contactos

Pero qué bizzarro tener que colocar flags (isDividerActive) para manejar la navegación

Ya esta deprecated ahora toca con NavigationStack ```js NavigationStack { VStack { Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/).navigationTitle("Home").navigationBarTitleDisplayMode(.inline).toolbar(content: { ToolbarItem( placement: .topBarTrailing) { Button(action: { print("go next") goNext = true } , label: { Text("+") }) } }) }.navigationDestination( isPresented: $goNext) { Dividers() } } ```NavigationStack { VStack { Text(/\*@START\_MENU\_TOKEN@\*/"Hello, World!"/\*@END\_MENU\_TOKEN@\*/).navigationTitle("Home").navigationBarTitleDisplayMode(.inline).toolbar(content: { ToolbarItem( placement: .topBarTrailing) { Button(action: { print("go next") goNext = **true** } , label: { Text("+") }) } }) }.navigationDestination( isPresented: $goNext) { Dividers() } }

se puede hacer maravillas combinando NavigationView, ForEach, Enum y Swtich