如何将 NSProgressIndicator 颜色从灰色更改为白色? [复制]

Posted

技术标签:

【中文标题】如何将 NSProgressIndicator 颜色从灰色更改为白色? [复制]【英文标题】:How to change NSProgressIndicator color from gray to white? [duplicate] 【发布时间】:2013-09-17 07:15:28 【问题描述】:

NSProgressIndicator 的默认颜色是灰色,但我希望它是白色的。

有人知道怎么做吗?请告诉我。

非常感谢。

【问题讨论】:

很遗憾,您无法直接更改它,但您可以使用多种开源替代实现。 【参考方案1】:

在方法内部创建 NSProgressIndicator 的子类这样做

- (void)drawRect:(NSRect)dirtyRect

    // Drawing code here.
        [self setControlTint:NSGraphiteControlTint];
    CGContextSetBlendMode((CGContextRef)[[NSGraphicsContext currentContext] graphicsPort], kCGBlendModeSoftLight);
    [[[NSColor whiteColor] colorWithAlphaComponent:1] set];
    [NSBezierPath fillRect:dirtyRect];
    [super drawRect:dirtyRect];

【讨论】:

对我来说,这只是在进度指示器周围画了一个彩色方块,实际上并没有改变指示器的颜色:i.imgur.com/J3VqaxY.png 不适用于 10.10+

以上是关于如何将 NSProgressIndicator 颜色从灰色更改为白色? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

斯威夫特:如何使用 NSProgressIndicator?

如何检查 NSProgressIndicator 当前是不是为动画?

NSProgressIndicator 无法将背景颜色设置为白色

NSProgressIndicator 的 setControlTint 没有效果

子类 NSProgressIndicator

NSButton 中的 NSProgressIndicator