可可:设置所选颜色

时间:2010-06-15 16:05:45

标签: cocoa selection nstableview

如何设置选择颜色?在这种情况下,它是NSTableView中选择的颜色

编辑:

这是我的子类:

- (void)highlightSelectionInClipRect:(NSRect)clipRect
{
NSBezierPath *windowPath;
windowPath = [NSBezierPath bezierPathWithRect:clipRect];
[[NSColor greenColor] set];
[windowPath fill];
}

唯一的问题是它将颜色放在背景中,而不是当我突出显示一行时使用的颜色。

1 个答案:

答案 0 :(得分:3)

编写一个NSTableView的子类,在其中覆盖the highlightSelectionInClipRect: method,并使表查看该子类的实例。

您的方法实现应设置选择颜色,然后用该颜色填充矩形。

请注意,选择颜色是用户可配置的(请参阅NSColor的各种高亮颜色方法),因此您不应在没有充分理由的情况下覆盖选择颜色。

如果要使选择突出显示渐变(如源列表),则更容易:Set the table view's highlight style.您不需要子类,并且可以在IB中设置此属性。