Swiftui 多级导航快捷界面

Swiftui 多级导航快捷界面,swiftui,Swiftui,我在SwiftUI中开发了一个master detail应用程序,但在第一个DetailView中,导航栏中的导航链接不再工作。我写这篇文章只是简单的演示: struct NavView: View { var body: some View { NavigationView { NavigationLink(destination: Layer()) {Text("Go to Layer 1")} } } } struc

我在SwiftUI中开发了一个master detail应用程序,但在第一个DetailView中,导航栏中的导航链接不再工作。我写这篇文章只是简单的演示:

struct NavView: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: Layer()) {Text("Go to Layer 1")}
        }
    }
}

struct Layer: View {
    var body: some View {
        Text("Welcome to Layer 1")
            .navigationBarItems(trailing: NavigationLink(destination: AnotherLayer()) { Text("Go to Layer 2") })
    }
}

struct AnotherLayer: View {
    var body: some View {
        Text("Welcome to Layer 2")
    }
}
所有内容都会呈现,您可以点击
层中的
导航栏项
,但什么都不会发生


这是怎么回事?如何访问另一层

无论您在第一层还是第二层使用导航链接,用作导航栏的导航链接都无法工作,但导航目的链接可以解决此问题

import SwiftUI

struct TestSwift: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: Layer()) {Text("Go to Level")}
        }
    }
}

struct Layer: View {
   let detailView = NavigationDestinationLink(AnotherLayer())

    var body: some View {
        VStack {
           Text("Text")

        }
        .navigationBarItems(trailing:
            Button(action: {
                self.detailView.presented?.value = true
            }, label: {
                Text("Present Now!")
            })
        )
    }
}

struct AnotherLayer: View {

    var body: some View {
        Text("Hello")
    }
}

请注意,
NavigationDestinationLink
已被弃用。有关此问题的讨论,请参阅。