这个问题可能已经被问过了,但是在谷歌上搜索之后我仍然找不到答案。
如何将Cocoa中标题栏(可以通过点击和拖动带有关闭、最小化和最大化按钮的栏)的颜色更改为与默认灰色不同的颜色?
这个问题可能已经被问过了,但是在谷歌上搜索之后我仍然找不到答案。
如何将Cocoa中标题栏(可以通过点击和拖动带有关闭、最小化和最大化按钮的栏)的颜色更改为与默认灰色不同的颜色?
如果你设置了一个“纹理”的窗口的背景颜色(这种区别在Snow Leopard中并不容易看到),那么该颜色也将应用于标题栏。这就是Firefox所做的。
我建议不要使用真正的标题栏(即将窗口设置为没有标题栏),而是使用+[NSWindow standardWindowButton:forStyleMask:]
,并将自己的按钮放在“标题栏”中。这样可以更好地控制界面,避免使用hack方法。
如果您采用Colin的方法,在接口生成器中使窗口具有纹理(在窗口属性中的复选框),这里是更改窗口背景颜色的代码行,您需要将其放入appDelegate.m文件的此函数中:
//在这个函数中 ---> - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
//输入以下内容 [_window setBackgroundColor: NSColor.whiteColor];
如果您不介意使用私有API,您可以子类化NSThemeFrame。
将标题栏设置为透明
self.window.titlebarAppearsTransparent = YES;
并根据您的喜好设置窗口背景颜色