ปรับอัตโนมัติ NavigationLink SwiftUI Xcode

0

คำถาม

ในของฉัน HomeView ฉันต้อง 2 อร์ ฉันให้สองคนใหม่หน้า(AboutA และ AboutB)ยองที่เกี่ยวข้องกับแต่ละคนนี้นวนไพ่ แต่ถ้าฉันคลิกบนนามบัตรผมเพียงคนเดียวที่ได้รับส่วนแสดงตัวอย่างของหน้าแรกเพราะว่าฉันไม่รู้ว่าจะตั้งค่าไดนามิคระบบนำทางสำหรับแต่ละ. นี่คือของฉัน HomeView:

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

สำหรับนามบัตรฉันสร้าง"ข้อมูล":

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

ตอนนี้ฉันต้องการความช่วยเหลืออะไรจะเปลี่ยนแปลงใน HomeView และสิ่งที่ต้องเปลี่ยน"ข้อมูล"หน้า.

ขอบคุณ

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

คุณมีสองไพ่แล้วคุณต้องแสดงให้เห็นรายละเอียดในอีกมุมมองที่เธอโทรหาเกี่ยวกับ. เป็นธรรมชาติของพวกคืนที่คล้ายกันฉันคิดว่ายังเรื่องหน้าจริงๆคล้ายกันหรือแม้กระทั่งเท่าเทียม บางทีเรื่องมุมมองมันเป็นแบบเดียวกันกับทั้งสองมุมมอดังนั้นในทางที่ดีขึ้นสิ่งที่ควรจะทำคือการสร้างปรับอัตโนมัติเรื่องมุมมอง:

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

ดังนั้น AboutView มีคนเดียวกับโครงสร้างของสำหรับทั้งสองบัตรแต่มันจะเต็มไปด้วยที่ถูกต้องข้อมูลออกมา คุณคงสามารถเพิ่มบางควบคุมที่จะเข้าใจว่าแม่มดนามบัตรมันและแก้ไขอะไรบางอย่างในมุมมอง

2021-11-23 08:41:10
0

โอเคฉันแก้ปัญหาของฉันกับเชื่อมต่อบัตรเพื่อนใหม่หน้าแต่ฉันเข้าใจปัญหาใหม่:)

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

ตอนนี้ฉันต้องของฉันเมื่อ 3 นามบัตรที่เชื่อมโยงไปยังหน้าแต่ฉันมีต้นไม้ขอเวลาอยู่แถวเดียวกับการ์ด:(

ช่วยไหม ขอบคุณ

2021-11-25 00:10:01

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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