SwiftUI 导航 NavigationStack NavigationLink navigationDestination

弘阳德
2023-12-01

导航的显示区域使用NavigationStack,导航的新视图会显示在NavagationStack中。

左右分栏导航使用NavigationSplitView。

触发导航的按钮使用NavigationLink。

示例1,显示颜色视图

struct ColorDetail: View {
    var color: Color

    var body: some View {
        color.navigationTitle(color.description)
    }
}

点击link会导航到对应的ColerDetail视图 

NavigationStack {
    List {
        NavigationLink("Mint") { ColorDetail(color: .mint) }
        NavigationLink("Pink") { ColorDetail(color: .pink) }
        NavigationLink("Teal") { ColorDetail(color: .teal) }
    }
    .navigationTitle("Colors")
}

示例2,通过传递值进行导航,这里要使用navigationDestination(for:)

NavigationStack {
    List {
        NavigationLink("Mint", value: Color.mint)
        NavigationLink("Pink", value: Color.pink)
        NavigationLink("Teal", va
 类似资料: