Ios 将SwiftUI NavigationView从3列布局切换为“导航视图”;“堆叠”;布局

Ios 将SwiftUI NavigationView从3列布局切换为“导航视图”;“堆叠”;布局,ios,macos,swiftui,ipados,Ios,Macos,Swiftui,Ipados,我有以下SwiftUI 3列布局,带有NavigationView,运行良好。 如果Mac上的窗口变得非常小(宽度),或者iPad上的应用程序在分屏模式下运行,我想改变NavigationViews的行为,就像iPhone上的一样(一堆视图) 可能吗 struct MainNav: View { var body: some View { NavigationView{ SideBar() MainView() Detail()

我有以下SwiftUI 3列布局,带有NavigationView,运行良好。
如果Mac上的窗口变得非常小(宽度),或者iPad上的应用程序在分屏模式下运行,我想改变NavigationViews的行为,就像iPhone上的一样(一堆视图)

可能吗

struct MainNav: View {
    var body: some View {
      NavigationView{
        SideBar()
        MainView()
        Detail()
      }
      //.navigationViewStyle(DoubleColumnNavigationViewStyle())
    }
}

struct SideBar: View {
  var body: some View {
    Text("sidebar")
    NavigationLink("Main", destination: MainView() )
    NavigationLink("Text", destination: Text("from Sidebar"))
  }
}

struct MainView: View {
  var body: some View {
    VStack {
      Text("MAIN")
      NavigationLink("TEXT1", destination: Text("1  from main") )
      NavigationLink("TEXT2", destination: Text("2  from main") )
      NavigationLink("detail", destination: Detail())
    }
  }
}

struct Detail: View {
  var body: some View {
    VStack{
    Text("detail")
    NavigationLink("TEXT", destination: Text("from detail") )
    }
  }
}

如果您没有设置
导航视图样式
,那么iPad应该自动折叠为拆分屏幕中的“堆叠”样式(或者至少是较小尺寸的拆分屏幕)

我不认为你可以在macOS上做同样的事情。事实上,我不确定“堆栈”样式在Big Sur上是否有效