如何获得NSWindow标题栏的颜色,特别是当窗口失去焦点时?

时间:2015-05-26 21:10:59

标签: objective-c macos cocoa osx-yosemite nswindow

我在项目中创建了自己的工具栏,但工具栏的颜色与窗口的标题栏不匹配。 在OS X中,当一个窗口失去焦点时,它的标题栏会改变颜色,如何获得该颜色?

我尝试使用_Window.backgroundColor(),NSColor.headerColor(),NSColor.windowBackgroundColor()..它们都不起作用。

2 个答案:

答案 0 :(得分:0)

您可以从Mac中选择Digital Color Meter作为默认应用程序的任何组件的确切RGB值。

获取RGB值后,您可以使用

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

如果标题栏有渐变而不是单一颜色

,则无法执行此操作

答案 1 :(得分:0)

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

[[[NSWindow contentView] superview] addSubview:MyCustomToolbar]