Dynamique NavigationLink SwiftUI Xcode

0

La question

Dans mon HomeView j'ai 2 cartes. Je fais deux nouvelles pages (AboutA et AboutB) être liée à chacun de ces cartes. Mais si je clique sur cette carte j'ai seulement aperçu de la première page, parce que je ne sais pas comment définir la dynamique de navigation pour chaque. C'est à mon HomeView:

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

Pour la Carte je crée des "données":

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

Maintenant j'ai besoin d'aide, ce qu'il faut changer dans HomeView, et ce qui doit changer dans "données" de la page.

je vous remercie.

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

Vous disposez de deux cartes et vous devez montrer leurs coordonnées dans un autre point de vue, que vous appelez Sur. Car leur nature est semblable, je pense aussi à Propos de la page est vraiment semblable ou même de l'égalité. Peut-être que le Sujet de la Vue c'est la même chose pour la vue, de sorte que la meilleure chose à faire est de créer une dynamique de Vue à Propos :

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)
    }
}

Ainsi, le AboutView a la même structure pour la carte, mais il sera rempli avec les bonnes données. Certainement que vous pouvez ajouter un peu de contrôle pour comprendre la sorcière de carte est-il, et de modifier quelque chose dans la vue.

2021-11-23 08:41:10
0

Ok, j'ai résolu mon problème avec le lien de la carte à de nouvelles pages, mais j'ai un nouveau problème :)

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])
                            }
                        }
                        
                    }
                }

Maintenant, j'ai mes 3 cartes, qui sont des liens vers des pages, mais j'ai l'arbre de temps en ligne de cartes identiques :(

Toute aide? Je vous remercie.

2021-11-25 00:10:01

Dans d'autres langues

Cette page est dans d'autres langues

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