我正在使用NavigationView
在macOS上创建一个侧边栏,可以使用以下代码切换侧边栏:
Button {
NSApp.keyWindow?.firstResponder?.tryToPerform(
#selector(NSSplitViewController.toggleSidebar(_:)), with: nil)
}
我现在尝试在边栏隐藏时显示标签,在按钮中触发这个操作不会起作用,因为用户也可以通过调整边栏的大小来隐藏边栏。
在NSSplitViewItem
上有一个isCollapsed
属性,我想这是我必须检查的,但是我不知道如何使用SwiftUI访问它。或者有没有其他方法来检查侧边栏的可见性?
2条答案
按热度按时间vpfxa7rd1#
其思想是找到
NSSplitViewController
(内部仍用作引擎)并订阅以观察其第一个拆分项(即侧栏)isCollapsed
状态。使用Xcode 13.3/macOS 12.2.1进行测试
这里是主要部分:
和用法
完成findings and code is here
bnlyeluc2#
在iOS 16+中使用新的
NavigationSplitView
,这变得容易得多。例如: