SwiftUI中具有不同列的侧栏

SwiftUI中具有不同列的侧栏,swiftui,sidebar,Swiftui,Sidebar,我正在使用Swiftui2附带的新边栏,以及在三列大屏幕中导航的可能性。有关其工作原理的示例可在此处找到: 它工作得很好,但我想前进一步,让我的主菜单中的一些选项显示三列,但其他选项只有两列 下面是一些演示代码的示例 导入快捷界面 结构ContentView:View{ var body:一些观点{ 导航视图{ 名单{ 节(标题:文本(“三列”)){ 导航链接( 目标:ItemsView(), 标签:{ 标签(“动物”,系统图像:“乌龟”) }) 导航链接( 目标:ItemsView(), 标签

我正在使用Swiftui2附带的新边栏,以及在三列大屏幕中导航的可能性。有关其工作原理的示例可在此处找到:

它工作得很好,但我想前进一步,让我的主菜单中的一些选项显示三列,但其他选项只有两列

下面是一些演示代码的示例

导入快捷界面
结构ContentView:View{
var body:一些观点{
导航视图{
名单{
节(标题:文本(“三列”)){
导航链接(
目标:ItemsView(),
标签:{
标签(“动物”,系统图像:“乌龟”)
})
导航链接(
目标:ItemsView(),
标签:{
标签(“动物2”,系统图像:“兔子”)
})
}
节(标题:文本(“两列”)){
导航链接(
目的地:文本(“我想在这里看到一个单一的视图,没有细节”),
标签:{
标签(“设置”,系统图像:“齿轮”)
})
导航链接(
目的地:文本(“我想在这里看到一个单一的视图,没有细节”),
标签:{
标签(“设置2”,系统图像:“齿轮形状”)
})
}
}
.listStyle(SidebarListStyle())
.navigationBarTitle(“应用程序菜单”)
ItemsView()
详细视图(动物:“默认”)
}
}
}
结构项视图:视图{
让动物=[“狗”、“猫”、“狮子”、“松鼠”]
var body:一些观点{
名单{
ForEach(动物,id:\.self){animal in
导航链接(
目的地:DetailView(动物:动物)){
文本(动物)
}
}
}
.listStyle(PlainListStyle())
.导航标题(“动物”)
}
}
结构详细视图:视图{
动物:字符串
var body:一些观点{
VStack{

正文("我有一个类似的问题,通过创建两个NavigationView解决了这个问题:一个有两个条目,一个有三个条目。这些NavigationView被一个if-then-else嵌入,这取决于侧边栏的当前选择。工作得很好…谢谢@Hardy,您的解决方案是一个很好的解决方案,但它不能100%正常工作。显示t他选择了选项,在某些情况下,“返回”按钮无法按预期工作。我与苹果支持部门联系,该功能未得到正式支持。希望在下一个SwiftUI大版本中得到支持。@jarnaez,你知道SwiftUI 3.0中是否包含此功能吗?可以在2或3之间进行更改基于主菜单选择的专栏将非常棒。嗨@Peanutsmasher,我暂时没有时间检查SwiftUI 3中的所有新功能和更改,但从快速阅读中,我没有看到与此功能相关的任何内容:(