导航的显示区域使用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