ios 如何在SwiftUI NavigationView或SplitNavigationView中永久显示侧边栏,就像iPad上的Apple Settings App一样?

x8diyxa7  于 2023-05-02  发布在  iOS
关注(0)|答案(1)|浏览(199)

我试图在我的应用程序中显示一个两列的NavigationView,与iPad上的设置完全一样。无法折叠iPad上的侧边栏。我本以为使用NavigationView和DoubleColumnStyle会起作用,但事实并非如此,而且它已被弃用。我可以像以前一样使用NavigationSplitView来控制初始外观,但是用户仍然可以折叠导航侧边栏。
我以为会有一个简单的解决方案,但一直在寻找一段时间,并没有找到任何方法,工程。
到目前为止,我有以下内容:

struct SettingsView: View {
    
    @State private var columnVisibility = NavigationSplitViewVisibility.doubleColumn
    
    var body: some View {
        
        NavigationSplitView(columnVisibility: $columnVisibility) {
            Text("Sidebar")
        } detail: {
            Text("Detail")
        }
        
    }
}

在这里,左上方隐藏侧边栏的图标是自动生成的,并且向左拖动侧边栏也会关闭它。

qyswt5oh

qyswt5oh1#

添加添加navigationSplitViewStyle平衡,并将columnVisibility更改为全部

struct SettingsView: View {
    
    @State private var columnVisibility = NavigationSplitViewVisibility.all
    
    var body: some View {
        
        NavigationSplitView(columnVisibility: $columnVisibility) {
            Text("Sidebar")
        } detail: {
            Text("Detail")
        }
        .navigationSplitViewStyle(.balanced)
        
    }
}

相关问题