如何更改选项卡按钮的颜色和 NSTabView 中的视图本身?
How to change the color of the tab button and the view itself in NSTabView?
我正在开发 OS X 应用程序,我正在使用 NSTabView。我想更改选项卡(按钮)的背景颜色。当前背景为蓝色,(Attribute Inspector -> Appearance = Inherited (Aqua).
视图本身的背景颜色也是如此。我将 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 将尊重 OS 选择的主题。
这让我想到了 How to draw your own NSTabView tabs?,我相信您已经看到了。但是尽管有文档,SetImage/ForSegment 对我不起作用。
[NSSegmentedControl Colors seems to have found one solution, and SMSegmentView 是另一个,尽管可能存在许可问题。这两种解决方案都是最新的。
希望以上内容对你有用,祝你好运。
我正在开发 OS X 应用程序,我正在使用 NSTabView。我想更改选项卡(按钮)的背景颜色。当前背景为蓝色,(Attribute Inspector -> Appearance = Inherited (Aqua).
视图本身的背景颜色也是如此。我将 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 将尊重 OS 选择的主题。
这让我想到了 How to draw your own NSTabView tabs?,我相信您已经看到了。但是尽管有文档,SetImage/ForSegment 对我不起作用。
[NSSegmentedControl Colors seems to have found one solution, and SMSegmentView 是另一个,尽管可能存在许可问题。这两种解决方案都是最新的。
希望以上内容对你有用,祝你好运。