Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改cocoa中标题栏的颜色_Cocoa_Macos_Colors_Osx Snow Leopard_Titlebar - Fatal编程技术网

更改cocoa中标题栏的颜色

更改cocoa中标题栏的颜色,cocoa,macos,colors,osx-snow-leopard,titlebar,Cocoa,Macos,Colors,Osx Snow Leopard,Titlebar,这肯定是以前问过的,但在谷歌搜索之后,我仍然找不到答案 如何将标题栏(您可以通过“关闭”、“最小化”和“最大化”按钮单击并拖动的标题栏)的颜色更改为与Cocoa中默认灰色不同的颜色?如果标题栏是a,您可以通过将其实例化为a将其更改为黑色 否则,你不能。有没有注意到其他应用程序中没有任何带有不同颜色标题栏的Aqua窗口?这就是为什么 更改标题栏外观的唯一其他方法(不依赖私有实现细节,如框架视图的存在)是使窗口无边界,并从头开始创建其标题栏和窗口按钮。如果设置“纹理”窗口的背景色(这在《雪豹》中并不

这肯定是以前问过的,但在谷歌搜索之后,我仍然找不到答案

如何将标题栏(您可以通过“关闭”、“最小化”和“最大化”按钮单击并拖动的标题栏)的颜色更改为与Cocoa中默认灰色不同的颜色?

如果标题栏是a,您可以通过将其实例化为a将其更改为黑色

否则,你不能。有没有注意到其他应用程序中没有任何带有不同颜色标题栏的Aqua窗口?这就是为什么


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

如果设置“纹理”窗口的背景色(这在《雪豹》中并不是那么明显的区别)这个颜色也将应用到标题栏上。这就是Firefox的功能


我建议不要使用真正的标题栏(即将窗口设置为没有标题栏),使用
+[NSWindow standardWindowButton:forStyleMask://code>并将自己的按钮放在“标题栏”中。这使您可以进行更多的控制,而且不太麻烦。

如果您不介意私有API,您可以将NSThemeFrame子类化。

如果您使用Colin在interface builder中使窗口纹理化的方法(窗口属性中的复选框),这是一行代码,用于更改您在appDelegate.m文件的此函数中放置的窗口的背景色

//在此函数中--> -(无效)ApplicationIDFinishLaunching:(NSNotification*)通知

//打这个
[\u window setBackgroundColor:NSColor.whiteColor];

设置标题栏显示为透明

self.window.titlebarAppearsTransparent=是


以及根据您的意愿设置窗口背景色。那么firefox是如何处理其角色的呢?我一直很好奇。哦,我看到firefox可能构建了自己的窗口。请仔细思考您为什么要尝试这样做。不要。只是不要:(有更好的方法。确切地说,您建议如何将窗口设置为无标题栏?您是指创建自定义无边框窗口吗?