我需要在OS X中更改应用程序的标题栏颜色。我最好想要一个涉及Cocoa或Carbon的解决方案,但如果有必要我可以做其他场所。从本质上讲,我的客户希望标题栏是黑色,而不是灰色。我知道这是可能的,因为OS X的Reminders应用程序可以做到这一点,Firefox也有人物角色和带有主题的谷歌浏览器。
我知道这有可能破坏用户体验,我考虑过其他选择,但这是客户想要的方式,我需要提供。我不能真正使用标题栏窗口,因为窗口已经设计好了,我确信这会比简单地改变窗口颜色更能消除用户体验。
任何想法都会受到高度赞赏。
答案 0 :(得分:2)
查看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.
输出