2010-06-15 28 views
2

如何设置选择颜色?在这种情况下,这是一个选择的一个NSTableView颜色可可:设置选定颜色

编辑:

这里是我的子类:

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

唯一的问题是,它使得色彩的背景下,不作为当我突出显示一行时使用的颜色。

回答

3

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

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

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

如果您想让选择突出显示一个渐变(如源列表),那么要容易得多:Set the table view's highlight style.您不需要继承子类,并且可以在IB中设置此属性。