Objective c 如何在NSTabView中更改选项卡按钮的颜色和视图本身?

Objective c 如何在NSTabView中更改选项卡按钮的颜色和视图本身?,objective-c,macos,cocoa,nstabview,Objective C,Macos,Cocoa,Nstabview,我正在使用OSX应用程序,我正在使用NSTabView。我想更改选项卡按钮的背景色。当前背景为蓝色,属性检查器->外观=继承的浅绿色 视图本身的背景色也是如此。我将NSTabView子类化,并在代码中添加: CGContextRef context = (CGContextRef) [[NSGraphicsContext currentContext] graphicsPort]; CGContextSetRGBFillColor(context, 241.0/255.0, 252.0/25

我正在使用OSX应用程序,我正在使用NSTabView。我想更改选项卡按钮的背景色。当前背景为蓝色,属性检查器->外观=继承的浅绿色

视图本身的背景色也是如此。我将NSTabView子类化,并在代码中添加:

 CGContextRef context = (CGContextRef) [[NSGraphicsContext currentContext] graphicsPort];
 CGContextSetRGBFillColor(context, 241.0/255.0, 252.0/255.0, 255.0/255.0, 1.0);
 CGContextFillRect(context, NSRectToCGRect(dirtyRect));
这会改变背景色,但也会用背景色覆盖选项卡

非常感谢您对NSTabView定制的任何帮助


对于那些认为这是重复问题的人…请看一下类似问题答案中的日期…它们都有7-8年的历史了…

下面的代码就是我用来做这件事的代码,现在正在使用iOS 9

[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:(44/255.00) green:(71/255.00) blue:(95/255.00) alpha:1]]; //TAB BAR TINT COLOR
[[UIView appearanceWhenContainedIn:[UITabBar class], nil] setTintColor:[UIColor whiteColor]];
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:(249/255.00) green:(153/255.00) blue:(44/255.00) alpha:1]];//BUTTON TINT COLOR
[[UITabBar appearance] setTranslucent:NO];
[[UITabBar appearance] setAlpha:1];
结果是这样的


几个小时后,我想你不能用NSTabView。 文档中说你不能再这样做了,NSTabView将尊重操作系统选择的主题

这让我想到了,我相信你已经看到了。但是,尽管有文档,SetImage/ForSegment对我来说并不适用

[似乎找到了一种解决方案,这是另一种,尽管可能存在许可问题。这两种解决方案都是最近才出现的


我希望以上内容对您有用,祝您好运。

这个答案似乎与OS X无关。您研究过了吗?我本来希望有人在某个地方找到了解决方案,但现在我失去了希望。最后,我将添加我自己的自定义按钮,我想,单击该按钮将更改自定义视图。至少我可以这样做我有我想要的设计…我将有更多的工作要做,但我找不到任何其他解决方案…感谢您的帮助。节省了我一些时间,使用了一个NSBox和一个NSSegmentedControl,在黑暗主题操作系统上一切看起来都应该如此。在我看来,NSTabView是有缺陷的,它是完全黑色的,而在白色主题上是半透明的,没有任何意义,因为没有其他组件可以这样做。我在popover中使用它,可能它在普通窗口上的行为也不同。