是否有一种官方的方式在SwiftUI中实现一个等效于NSTrackingSeparatorToolbarItem,并且保持一致性?
我正在制作一个具有2种可能的工具栏状态的应用程序,两者都有一个“切换侧边栏”按钮,我希望它在实际的侧边栏中,就像Xcode一样。我使用了一个NavigaionView
并按以下方式添加侧边栏按钮:
NavigationView {
List(selection: $selection) {
ForEach(app.menuItems) { menuItem in
Section(header: MenuSectionHeader(menuItem.name)) {
OutlineGroup(menuItem.children ?? [SidebarItem](), children: \.children) { child in
Label(child.name, systemImage: child.icon)
}
}
}
}
.toolbar {
ToolbarItem(placement: .automatic) {
Button(action: toggleSidebar) {
Icon(icon: "sidebar.left", .textDim)
}
}
}
DetailsView()
.toolbar {
// ...rest of the toolbar...
}
}
这个组件有两种状态中的一种:
但在另一种状态下,.automatic
的放置将它推到了中心区域旁边:
在官方的ToolbarItemPlacement文档中并没有提到如何强制使ToolbarItem
位于侧边栏中,但是考虑到自动位置有时会将其推到那里,也许我缺少一些东西。
欢迎任何想法!
.navigation
部分插入了一个切换侧边栏按钮。我想知道是否有一种方法可以对其进行样式设置或将其移动到其他位置,在文档中找不到任何信息。 - max