如何获取 NSWindow 标题栏的颜色,尤其是 window 失去焦点时?

how to get the color of NSWindow's title bar, especially when the window lose focus?

我在项目中制作了自己的工具栏,但是工具栏的颜色与window的标题栏不匹配。 在OS X中,当window失去焦点时,它的标题栏会变色,如何变色?

我尝试使用 _Window.backgroundColor()、NSColor.headerColor()、NSColor.windowBackgroundColor().. 其中 None 有效。

您可以从 Digital Color Meter 中作为您 Mac.

中的默认应用程序选择任何组件的确切 RGB 值

获取RGB值后可以使用

NSColor *loseFocusColor = [NSColor colorWithCalibratedRed:redValue green:greenValue blue:blueValue alpha:1.0f];

如果标题栏有渐变而不是单一颜色,则无法完成此操作

我通过将我的工具栏放在 NSWindow 的标题栏中,然后使我的工具栏透明来解决了这个问题。所以它将使用标题栏的颜色。效果很好。谢谢大家

[[[NSWindow contentView] 超级视图] addSubview:MyCustomToolbar]