Swift NSSplitView dividerColor覆盖不适用于macOS 11中的边栏分隔符

Swift NSSplitView dividerColor覆盖不适用于macOS 11中的边栏分隔符,swift,macos,appkit,nssplitview,macos-big-sur,Swift,Macos,Appkit,Nssplitview,Macos Big Sur,我有一个小应用程序,它包含一个NSSplitViewController,有3个垂直拆分视图(边栏、内容视图、详细视图),有点像邮件应用程序。我已经通过编程更改了不同分割视图之间分隔符的颜色,在macOS 11之前效果很好 不幸的是,由于升级项目以支持macOS 11,侧边栏和内容视图之间的分隔符在明暗主题中都恢复为默认的苹果颜色,我的覆盖似乎不再起作用 我目前只是将NSSplitView子类化,并覆盖苹果文档中描述的dividerColor方法 // ... You can override

我有一个小应用程序,它包含一个NSSplitViewController,有3个垂直拆分视图(边栏、内容视图、详细视图),有点像邮件应用程序。我已经通过编程更改了不同分割视图之间分隔符的颜色,在macOS 11之前效果很好

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

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

// ... You can override this method to change the color of dividers.
@available(macOS 10.5, *)
@NSCopying open var dividerColor: NSColor { get }
另一个分配器看起来非常好,正如预期的那样工作

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


提前感谢您的建议。

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

func drawDivider(in rect: NSRect)
如果出于某种原因,您有时需要原始设计,甚至可以通过此方法调用super