1

在绘图功能中NSImageView,我想设置我的自定义对焦环颜色,而不是默认的蓝色。我尝试了以下代码

NSSetFocusRingStyle(NSFocusRingOnly);
[[NSColor redColor] setStroke];
NSRectFill([self bounds]);

但是颜色仍然是默认的蓝色。我该如何解决这个问题?

更新:NSShadow班上帮我完成了添加对焦环。改变阴影颜色很容易。

NSShadow *shadow = [[[NSShadow alloc] init] autorelease];
[shadow setShadowBlurRadius:5];
[shadow setShadowOffset:NSMakeSize(0.0, 0.0)];
[shadow setShadowColor:[NSColor redColor]];
[shadow set];

我在 NSImageView 的绘制函数中对此进行了编码。

4

1 回答 1

3

解决这个“问题”的唯一方法就是自己画对焦环。该NSFocusRingStyle代码旨在使您可以轻松地以用户选择的焦点样式绘制焦点环,其中包括他们能够设置焦点环颜色。

根据设计,您不能轻易更改对焦环颜色,因为它是 OS 主题的一部分,因此应该在用户的控制之下(根据 HIG)。如果您有特殊情况,例如需要根据图像内容对对焦环进行自适应着色,则必须从头开始创建自己的对焦环。

于 2013-04-18T12:17:51.813 回答