提问人:trilogy 提问时间:9/6/2023 更新时间:9/6/2023 访问量:31
如果嵌套了导航堆栈,则切换 NavigationSplitPane 的详细信息视图需要后退按钮
Switching detail view of NavigationSplitPane requires back button if nested Navigation Stack
问:
我有一个使用 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("")
}
}
}
}
答:
0赞
trilogy
9/6/2023
#1
找出了方法,看起来导航链接应该有一个参数和一个修饰符destination
.isDetailLink(true)
评论