之前一定要问过这个问题,但谷歌搜索之后我还是找不到答案。
如何更改标题栏的颜色(可以单击并使用关闭,最小化和最大化按钮拖动的栏)到与Cocoa中的默认灰色不同的颜色?
答案 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;
并根据需要设置窗口背景颜色