iPadOS-在SwiftUI中以编程方式关闭侧栏

iPadOS-在SwiftUI中以编程方式关闭侧栏,ipad,swiftui,sidebar,Ipad,Swiftui,Sidebar,我正在制作一个在iOS和iPadOS中运行的应用程序,使用SwiftUI,它可以完美地运行,但是在iPad中,当我在我的导航视图中使用.navigationViewStyle(DoubleColumnNavigationViewStyle())修饰符时,会出现一个侧栏,我想知道是否有办法以编程方式关闭侧栏,通常用户可以通过触摸屏幕左上角的按钮来关闭侧边栏,但这只是用户交互。可以用代码直接关闭侧栏吗 发现SwiftUI内省可以用来完成这个需求,但我想在没有外部库的情况下完成它 这是在iPadOS中

我正在制作一个在iOS和iPadOS中运行的应用程序,使用SwiftUI,它可以完美地运行,但是在iPad中,当我在我的
导航视图中使用
.navigationViewStyle(DoubleColumnNavigationViewStyle())
修饰符时,会出现一个侧栏,我想知道是否有办法以编程方式关闭侧栏,通常用户可以通过触摸屏幕左上角的按钮来关闭侧边栏,但这只是用户交互。可以用代码直接关闭侧栏吗

发现SwiftUI内省可以用来完成这个需求,但我想在没有外部库的情况下完成它

这是在iPadOS中复制侧栏的简单代码:

import SwiftUI
@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            NavigationView {
                if UIDevice.current.userInterfaceIdiom == .pad {
                    Text("Sidebar here")
                    Text("Content here")
                }
            }.navigationViewStyle(DoubleColumnNavigationViewStyle())
        }
    }
}