我有一个macOS应用程序,它有一个 NavigationView
并希望在窗口的工具栏中设置默认的ToggleSidebar项。
目前我将ToolbarItem的目标设置为AppDelegate中的 toolbarWillAddItem(_)
的 NSToolbarDelegate
.
在AppDelegate内部,我实现了
@objc func toggleSidebar(_ sender: Any) {
((window.contentView?.subviews.first?.subviews.first?.subviews.first as? NSSplitView)?.delegate as? NSSplitViewController)?.toggleSidebar(self)
}
这个解决方案现在是有效的。如果SwiftUI的实现会改变,这个就会中断。
那么如何用更好的方式来实现呢?
我不使用NavigationView。使用HSplitView来代替,并使用一个隐藏的标志,比如在 https:/stackoverflow.coma59228385811010