Dinámica NavigationLink SwiftUI Xcode

0

Pregunta

En mi HomeView tengo 2 tarjetas. Puedo hacer dos páginas nuevas (AboutA y AboutB) esté vinculada a cada una de estas tarjetas. Pero si hago clic en esta tarjeta sólo tengo vista preliminar de la primera página, porque no sé cómo establecer la dinámica de navegación para cada uno. Esto es en mi HomeView:

ForEach(items) { item in
    NavigationLink(destination: AboutA()) {
    CardView(item: item)
}

Para la Tarjeta de crear "datos":

struct Item: Identifiable {
    var id = UUID()
    var title: String
    var text: String
    var image: String
}

Ahora necesito ayuda, lo que al cambio en HomeView, y lo que hay que cambiar en "datos" de la página.

gracias.

swift swiftui swiftui-navigationlink
2021-11-22 16:19:26
2
0

Tiene dos cartas y usted tiene que mostrar sus detalles en otro punto de vista, que usted llame. Como su naturaleza es similar, creo que también Acerca de la página es muy similar o incluso igual. Tal vez el de la Vista es el mismo tanto para la vista, así que la mejor cosa a hacer es crear una dinámica de Vista Acerca de :

struct Item: Identifiable {
    var id = UUID()
    var title: String
    var text: String
    var image: String
}

struct ContentView: View {
    @State
    var items : [Item] = [Item(title: "A", text: "test text", image: "test image"), Item(title: "B", text: "test text", image: "test image")]
    
    var body: some View {
        NavigationView {
            ForEach(items) { item in
                NavigationLink(destination: AboutView(item : item)) {
                    Text(item.text)
                }
            }
        }
    }
}

struct AboutView : View {
    var item : Item
    var body : some View {
        Text(item.title)
    }
}

Así que el AboutView tiene la misma estructura tanto de la tarjeta, pero va a ser llenado con los datos correctos. Usted seguramente puede agregar un poco de control para comprender la bruja de la tarjeta, y editar algo en la vista.

2021-11-23 08:41:10
0

Ok, he resuelto mi problema con el link de la tarjeta para las páginas nuevas, pero tengo un nuevo problema :)

struct HomeView: View {
@State var show = false
var body: some View {
    NavigationView {
        ScrollView {
            ScrollView(.horizontal, showsIndicators: false) {
                HStack{
                    ForEach(items) { item in
                        NavigationLink(destination: AboutH()) {
                            CardView(item: items[0])}
                            NavigationLink(destination: Parkovi()) {
                                CardView(item: items[1])}
                                NavigationLink(destination: Rijeke()) {
                                    CardView(item: items[2])
                            }
                        }
                        
                    }
                }

Ahora tengo a mi hijo de 3 tarjetas, que son enlaces a las páginas, pero he árbol de tiempo en la fila de cartas iguales :(

Alguna ayuda? Gracias.

2021-11-25 00:10:01

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................