2

在我的自定义 NSTableCellView 中,我以-(void)drawRect这种方式覆盖(我这样做是因为我有图案图像背景NSWindow我只需要NSLabel在 cellView 中显示):

- (void)drawRect:(NSRect)dirtyRect
{
    [[NSColor clearColor] setFill];
    NSRectFill(dirtyRect);
    [super drawRect:dirtyRect];
}

我得到了这个结果,它使整个NSWindow透明:

在此处输入图像描述

我想要像VOX mac app这样的结果(看看红色的日食,你会看到 cellView 对父背景图像是透明的):

在此处输入图像描述

4

2 回答 2

2

我已经解决了我的问题:
我使用了 MMScroller库(请阅读它的设置过程),在 xcode 中有一些技巧:

我在 tableView Attributes Instector中检查了Alternating Rows然后,只需在Attributes Inspector中将 tableView 背景颜色设置为 clearColor 即可。

在此处输入图像描述

于 2013-10-20T17:39:28.637 回答
0

那么有两种方法可以改变单元格的颜色。1)实施委托: -

- (void)tableView:(NSTableView *)tableView 
  willDisplayCell:(id)cell 
  forTableColumn:(NSTableColumn     
    *)tableColumn 
     row:(NSInteger)row

然后在该提取单元格值的基础上使用setBackgroundColorapi。

2)第二种方法可以使用preparecellcolumntableview的api,它将返回单元格值然后设置backgroundcolor

于 2013-10-20T07:02:37.283 回答