我有一个使用 NavigationSplitView 的主菜单。当我选择列表中的其中一项时,详细信息侧将更改为相应的视图。效果很好。
如果您在子视图中选择一个项目,您将获得您单击的项目的详细信息部分,并通过后退按钮返回上一级。
问题是,如果您已经在“详细信息视图”上,并且单击最左侧菜单中的主菜单项,则它不会更改父详细信息窗格,除非您单击“后退按钮”子视图。有没有办法让子视图瞬间改变而不需要额外按下“后退按钮”?
NavigationSplitView
{
List(mainMenuItems, selection: $selectedMainMenuItem)
{ item in
NavigationLink(value: item)
{
Text(item.name)
}
}
} detail:
{
if let selectedMainMenuItem
{
switch(selectedMainMenuItem.name)
{
case "Link1":
SectionView1()
case "Link2":
SectionView2()
case "Link3":
SectionView3()
default:
Text("")
}
}
}
}
找到了方法,看起来导航链接应该有一个
destination
参数和修饰符 .isDetailLink(true)