Dinamica NavigationLink SwiftUI Xcode

0

Domanda

Nel mio HomeView ho 2 carte. Faccio due nuove pagine (AboutA e Bratislav) per essere collegati a ciascuna di queste carte. Ma se faccio clic su questa scheda ho solo l'anteprima della prima pagina, perché non so come impostare le dinamiche di navigazione per ogni. Questo è il mio HomeView:

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

Per la Scheda di creare I "dati":

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

Ora ho bisogno di aiuto, cosa cambia in HomeView, e cosa cambiare in "dati".

grazie.

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

Hai due carte e si deve mostrare il loro dettagli in un altro punto di vista, che si chiama Su. Dato che la loro natura è simile, penso anche che la pagina è molto simile o addirittura uguale. Forse Su Vista è la stessa sia per la vista, per cui la cosa migliore da fare è creare una dinamica Su Vista :

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

Così il AboutView ha la stessa struttura, sia per la carta, ma sarà riempito con i dati giusti. È sicuramente in grado di aggiungere un po ' di controllo per capire strega scheda e modificare qualcosa nella visualizzazione.

2021-11-23 08:41:10
0

Ok, ho risolto il mio problema con il collegamento della scheda di nuove pagine, ma mi da di nuovo il 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])
                            }
                        }
                        
                    }
                }

Ora ho il mio 3 carte, che sono link a pagine, ma ho un albero di tempo in fila di carte :(

Qualsiasi aiuto? Grazie.

2021-11-25 00:10:01

In altre lingue

Questa pagina è in altre lingue

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