You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏macOS下NavigationSplitView的侧边栏切换按钮?

隐藏NavigationSplitView的侧边栏切换按钮

要实现类似邮件App无侧边栏切换按钮的效果,可通过以下两种方式处理:

方法一:替换默认侧边栏按钮为空白视图

在NavigationSplitView的内容列(中间列)的NavigationStack中,添加空的ToolbarItem占据导航栏左侧位置,覆盖系统默认的侧边栏切换按钮:

struct ContentView: View {
    @State private var selection: Int = 1
    @State private var search: String = ""
    
    @State private var columnVisibility = NavigationSplitViewVisibility.all
    
    var body: some View {
        NavigationSplitView(columnVisibility: $columnVisibility) {
            Sidebar(selection: $selection)
        } content: {
            NavigationStack {
                Content(selection: $selection)
                    .toolbar {
                        ToolbarItem(placement: .navigationBarLeading) {
                            EmptyView()
                        }
                    }
            }
        } detail: {
            DetailView(selection: $selection)
        }
        .searchable(text: $search)
    }
}

该方法保留导航栏的其他功能,仅隐藏侧边栏切换按钮,符合邮件App的表现。

方法二:隐藏整个导航栏(按需使用)

如果你的场景不需要显示导航栏,可直接在内容列或详情列的NavigationStack中添加隐藏导航栏的修饰符:

// 在内容列中隐藏导航栏
NavigationStack {
    Content(selection: $selection)
        .navigationBarHidden(true)
}

注意:此方法会完全隐藏导航栏,仅适用于不需要导航栏的场景。


内容的提问来源于stack exchange,提问作者Nhat Nguyen Duc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:21:03