1

我需要在 OS X 中更改应用程序的标题栏颜色。我希望有一个涉及 Cocoa 或 Carbon 的解决方案,但如有必要我可以做其他场所。本质上,我的一个客户希望标题栏是黑色的,而不是灰色的。我知道这是可能的,因为 OS X 的提醒应用程序可以做到这一点,带有角色的 Firefox 和带有主题的 Google Chrome 也是如此。

我知道这有可能破坏用户体验,我考虑过其他选择,但这是客户想要的方式,我需要交付。我不能真正使用没有标题栏的窗口,因为窗口已经设计好了,我相信这会比简单地改变窗口颜色更能扼杀用户体验。

任何想法将不胜感激。

4

1 回答 1

2

查看Apple 的 Core Data Stickies 示例应用程序

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.

在此处输入图像描述
输出

在此处输入图像描述

于 2013-03-11T06:15:30.217 回答