2

我有一个小应用程序,其中包含一个 NSSplitViewController 和 3 个垂直拆分视图(侧边栏、内容视图、详细信息视图),类似于邮件应用程序。我已经以编程方式更改了不同拆分视图之间的分隔线颜色,并且在 macOS 11 之前效果很好。

不幸的是,自从升级项目以支持 macOS 11 后,侧边栏和内容视图之间的分隔线在浅色和深色主题中都恢复为默认的苹果颜色,我的覆盖似乎不再起作用。

我目前只是将 NSSplitView 子类化并覆盖 Apple 文档中描述的 dividerColor 方法

// ... You can override this method to change the color of dividers.
@available(macOS 10.5, *)
@NSCopying open var dividerColor: NSColor { get }

另一个分隔线看起来非常好,正如预期的那样工作。

关于如何覆盖侧边栏分隔线颜色的任何线索?

在此先感谢您的任何建议。

4

1 回答 1

0

您可以尝试使用此方法自己绘制分隔线:

func drawDivider(in rect: NSRect)

如果由于某种原因您有时需要原始设计,甚至可以从此方法调用 super 。

于 2020-11-16T10:20:00.057 回答