Macos 我如何给这样的应用程序窗口着色?
我对OSX开发非常陌生 如何将应用程序着色为深灰色,就像这样Macos 我如何给这样的应用程序窗口着色?,macos,cocoa,tint,Macos,Cocoa,Tint,我对OSX开发非常陌生 如何将应用程序着色为深灰色,就像这样 可以从interface builder执行此操作吗?如果没有,如何从代码中执行此操作?要更改窗口标题栏颜色,请将窗口设置为IB中的纹理。然后在相应的视图控制器/应用程序代理中更新窗口颜色 NSColor *grayColor = [NSColor colorWithCalibratedRed:64/255.0f green:64/255.
可以从interface builder执行此操作吗?如果没有,如何从代码中执行此操作?要更改窗口标题栏颜色,请将窗口设置为IB中的纹理。然后在相应的视图控制器/应用程序代理中更新窗口颜色
NSColor *grayColor = [NSColor colorWithCalibratedRed:64/255.0f
green:64/255.0f
blue:64/255.0f
alpha:1.0];
[self.window setBackgroundColor:grayColor];
现在窗口将显示以下内容:
使用工具栏:
请注意,当“窗口”设置为“纹理化”时,整个窗口将被纹理化。我对视图进行了子分类,并将背景设置为白色:
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
[[NSColor whiteColor] setFill];
NSRectFill(dirtyRect);
}
否则窗口将显示以下内容:
太棒了!谢谢你的精彩解释!只是一个小细节。该窗口有一个NSToolbar。我使用了你的答案,视图本身被着色,但窗口本身没有着色。@RubberDuck我之前提到过,当你设置窗口颜色时,它将应用于所有地方,因此你需要根据需要对视图进行子类化并设置背景色。不,我说的是窗口。这扇窗户是不着色的。它仍然是灰色的。视图变成深灰色,但窗口不是。@RubberDuck我想你忘了在Interface Builder中将窗口设置为纹理。