我在查看 Apple 设计资源时看到了一个如下所示的工具栏:
隐藏侧边栏按钮位于侧边栏内。然而,使用 SwiftUI,我无法找到如何始终将其放置在这里而不是放在交通灯按钮旁边。我可以在标题之前添加一个额外的侧边栏按钮,但我无法通过交通灯按钮删除第一个侧边栏按钮。
有什么办法可以改变这个按钮的位置吗? 谢谢
您可以使用
NavigationSplitView
删除 .toolbar(removing: .sidebarToggle)
的标准侧边栏按钮,然后添加您自己的自定义按钮。
struct ContentView: View {
var body: some View {
NavigationSplitView {
Text("Main Content")
.toolbar(removing: .sidebarToggle)
} detail: {
Text("Sidebar")
}
.toolbar {
ToolbarItem(placement: .navigation) {
SidebarButton()
}
}
}
}
struct SidebarButton: View {
var body: some View {
Button(action: toggleSidebar, label: {
Image(systemName: "sidebar.leading")
})
}
private func toggleSidebar() {
#if os(macOS)
NSApp.keyWindow?.firstResponder?.tryToPerform(#selector(NSSplitViewController.toggleSidebar(_:)), with: nil)
#endif
}
}