带工具栏的 NSSplitView

NSSplitView with toolbars

我正在尝试制作一个看起来像 Apple 的消息应用程序的应用程序。

NSSplitViewNSSplitView 的两个子视图上都有工具栏。它们与顶部工具栏融为一体。它类似于 NSToolBar,但在 NSSplitView 中不起作用。有什么办法可以做到这一点吗?

我试过 CNSplitView 但效果不佳。有没有其他我想念的方法?

我想要的界面在这里:

您可以不使用 NSToolbar,而是将自己的视图添加到 NSSplitView 中子视图的顶部,以在隐藏现有标题栏后实现此目的。

NSWindow 的 titleVisibility 可用于隐藏 built-in 标题栏,通过将 window 的 styleMask 设置为包含 NSFullSizeContentViewWindowMask,您可以导致拆分视图占据 window.

的整个高度

要获得像 toolbars/Messages 这样的模糊效果,您可以在顶部视图中使用 NSVisualEffectView。设置 material NSVisualEffectMaterialTitlebar 将给出与标准标题栏相同的外观。

最后,您可以将 NSStackViews 放入视觉效果视图中,然后将标题栏控件放入其中。

(根据假工具栏下方的内容,您可能需要查看 NSScrollView 的 contentInsets 属性 以允许滚动视图显示所有内容,但仍然能够在您的工具栏下方滚动)。