改变可可中标题栏的颜色

时间:2010-05-09 18:08:23

标签: cocoa macos colors osx-snow-leopard titlebar

之前一定要问过这个问题,但谷歌搜索之后我还是找不到答案。

如何更改标题栏的颜色(可以单击并使用关闭,最小化和最大化按钮拖动的栏)到与Cocoa中的默认灰色不同的颜色?

5 个答案:

答案 0 :(得分:11)

如果您设置了“纹理”窗口的背景颜色(这种区别在Snow Leopard中并非真正可见),那么该颜色也将应用于标题栏。这就是Firefox所做的。

我建议虽然没有真正的标题栏(即设置窗口没有标题栏)并使用+[NSWindow standardWindowButton:forStyleMask:]并将自己的按钮放在“标题栏”中。这样可以让你更有控制力,而且不那么笨拙。

答案 1 :(得分:3)

如果是panel,您可以将其设置为HUD window,将其更改为黑色。

否则,你不能。有没有注意到在其他应用程序中没有任何Aqua窗口有不同颜色的标题栏漫游?这就是原因。

更改标题栏外观的唯一其他方法(不依赖于私有实现细节,例如帧视图的存在)是使窗口无边框并从头开始创建标题栏和窗口按钮。

答案 2 :(得分:1)

如果你采用Colin的方法在界面构建器中设置窗口纹理(窗口属性中的复选框),这里是改变你在appDelegate的这个函数中放置的窗口的背景颜色的行。 m档

//在这个函数中---> - (void)applicationDidFinishLaunching:(NSNotification *)aNotification

//输入此内容 [_window setBackgroundColor:NSColor.whiteColor];

答案 3 :(得分:0)

如果您不介意私有API,则可以继承NSThemeFrame。

答案 4 :(得分:0)

设置标题栏显示为透明

self.window.titlebarAppearsTransparent = YES;

并根据需要设置窗口背景颜色