如何在 SwiftUI 中使用 NavigationLink?

How do I use a NavigationLink in SwiftUI?

我是 Xcode 的新手,正在处理登录页面。 我尝试 link 所有页面相互连接,但即使我在教程中看到这些代码有效,它对我也不起作用。

希望你能帮助我,我将不胜感激?

您可以通过多种不同方式使用 NavigationLink。文档 here

struct ContentView: View {
    @State var active: Bool = false
    var body: some View {
        NavigationView {
            List {
                NavigationLink(destination: EmptyView()) {
                    Label("Badge", systemImage: "app.badge")
                }
                NavigationLink("General", destination: EmptyView())
                NavigationLink("About", destination: EmptyView(), isActive: $active)
            }
        }
    }
}

在 NavigationLink 中,参数的顺序非常重要

这是一个可能对您有所帮助的示例

struct Page1: View {
    @Binding var GoToPage2: Bool
    var body: some View {
        VStack{
            
            Button("Go To Page"){
                GoToPage2 = true
                print(GoToPage2)
            }
            
            NavigationLink(destination: Page2(), isActive: $GoToPage2){
                EmptyView()
            }
        }
        .navigationTitle("Page 1")
    }
}

struct Page2: View {
    var body: some View {
        Text("page 2!")
            .padding()
            .navigationTitle("Page 2")
    }
}


struct ContentView: View {
    @State var GoToPage2 = false
    var body: some View {
        NavigationView{
            VStack{
                NavigationLink(destination: Page1(GoToPage2: $GoToPage2)){
                    Text("Signe In")
                        .padding()
                        .background(.regularMaterial)
                        .colorScheme(.dark)
                        .cornerRadius(12)
                        .font(.largeTitle.bold())
                        .foregroundColor(.primary)
                }
            }
            .navigationTitle("App")
        }
    }
}