在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的绘图函数中对此进行编码。
答案 0 :(得分:2)
解决这个“问题”的唯一方法是自己画出聚焦环。 NSFocusRingStyle
代码旨在让您轻松地以用户选择的焦点样式绘制对焦环,其中包括可以设置对焦环颜色。
根据设计,您无法轻易更改聚焦环颜色,因为它是操作系统主题的一部分,因此应由用户控制(根据HIG)。如果您有特殊情况,例如需要根据图像内容自适应地对焦环进行着色,则必须从头开始创建自己的对焦环。