如果嵌套导航堆栈,切换 NavigationSplitPane 的详细视图需要后退按钮

问题描述 投票:0回答:1

我有一个使用 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("")
                }
                
            }
            
        }
}
ios swift swiftui ipad
1个回答
0
投票

找到了方法,看起来导航链接应该有一个

destination
参数和修饰符
 .isDetailLink(true)

© www.soinside.com 2019 - 2024. All rights reserved.