Dinamic NavigationLink SwiftUI Xcode

0

Problema

În HomeView am 2 carduri. Eu fac două pagini noi (Despreun și AboutB) să fie legate de fiecare dintre aceste cărți. Dar dacă am faceți clic pe acest card am doar previzualizare de prima pagină, pentru că nu știți cum să setați dinamica de navigare pentru fiecare. Acest lucru este în HomeView:

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

Pentru Card pot crea "date":

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

Acum am nevoie de ajutor, ce să se schimbe în HomeView, și ce să se schimbe în "date" pagina.

multumesc.

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

Aveți două cărți și trebuie să arate detaliile lor într-un alt punct de vedere, pe care îl căutați. Ca natura lor este similar, cred, de asemenea, Despre pagină este într-adevăr similar sau chiar egale. Poate că Despre Vedere este același atât pentru vedere, deci, cel mai bun lucru de făcut este de a crea o dinamică Despre Vedere :

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

Deci AboutView are aceeași structură, atât pentru card, dar acesta va fi completat cu datele corecte. Tu cu siguranță poate adăuga un control pentru a înțelege vrăjitoare card este, și edita ceva în vedere.

2021-11-23 08:41:10
0

Ok, am rezolvat problema cu link-ul de carte pentru pagini noi, dar am o problema noua :)

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

Acum am 3 carduri, care sunt link-ul de la pagini, dar nu am timpul pomului în rând de aceleași cărți :(

Orice ajutor? Multumesc.

2021-11-25 00:10:01

În alte limbi

Această pagină este în alte limbi

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