隐藏切换侧栏按钮 NavigationSplitView macOS

Nha*_*Duc 10 macos swift swiftui

在 WWDC 2022 上,Apple 推出NavigationSplitViewNavigationView. 在出现问题之前一切都很好:我不知道如何隐藏切换侧边栏按钮。

我想要什么(例如邮件应用程序,没有侧边栏按钮):

我的代码和结果(我没有在项目中添加有关侧边栏按钮的任何代码):

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: {
            Content(selection: $selection)
        } detail: {
            DetailView(selection: $selection)
        }
        .searchable(text: $search) {
            
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有办法隐藏它吗?我感谢您能提供的任何帮助。

Den*_*ink 6

从 XCode 版本 15.0 beta 6 (15A5219j) 开始,这已成为可能。

要隐藏“隐藏/显示侧边栏”按钮,请将值.toolbar(removing:)添加到侧边栏:ToolbarDefaultItemKind.sidebarToggleView

NavigationSplitView(
  sidebar: {
    <#T##SomeSidebarView#>
      .toolbar(removing: .sidebarToggle)
  },
  detail: {
    <#T##SomeDetailView#>
  }
)
Run Code Online (Sandbox Code Playgroud)