我需要在 OS X 中更改应用程序的标题栏颜色。我更喜欢涉及 Cocoa 或 Carbon 的解决方案,不过如果需要的话我可以做其他的事情。本质上,我的一个客户希望标题栏是黑色的,而不是灰色的。我知道这是可能的,因为 OS X 的提醒应用程序可以做到这一点,带有角色的 Firefox 和带有主题的 Google Chrome 也可以做到这一点。
我知道这有可能破坏用户体验,并且我考虑过其他选择,但这是客户想要的方式,也是我需要提供的方式。我不能真正使用无标题栏的窗口,因为窗口已经设计好了,我确信这比简单地更改窗口颜色更会破坏用户体验。
如有任何想法,我们将不胜感激。
最佳答案
看看Apple's Core Data Stickies sample app
1. Create borderless window.
- (id)initWithContentRect:(NSRect)contentRect
styleMask:(unsigned int)styleMask
backing:(NSBackingStoreType)backingType
defer:(BOOL)flag
{
if (self = [super initWithContentRect:contentRect
styleMask:NSBorderlessWindowMask
backing:backingType
defer:flag]) {
[self setBackgroundColor:[NSColor yellowColor]];
[self setHasShadow:YES];
}
return self;
}
- (BOOL)canBecomeKeyWindow { return YES; }
2. Place view on that window and implement custom title bar.
输出
关于macos - 如何更改 Cocoa 应用程序的标题栏颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15332066/