Macos NSTableCellView透明背景

Macos NSTableCellView透明背景,macos,cocoa,nstableview,nstablecellview,Macos,Cocoa,Nstableview,Nstablecellview,在我的自定义NSTableCellView中,我以这种方式覆盖-(void)drawRect(我这样做是因为我有NSWindow的图案图像背景。我只需要在cellView中显示NSLabel) 我得到这个结果,它使整个NSWindow透明: 我想要的结果和do一样(看看红色的eclipse,您会看到cellView与父背景图像是透明的): 有两种方法可以改变单元格的颜色。 1) 执行代表:- - (void)tableView:(NSTableView *)tableView willD

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

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

我想要的结果和do一样(看看红色的eclipse,您会看到cellView与父背景图像是透明的):


有两种方法可以改变单元格的颜色。 1) 执行代表:-

- (void)tableView:(NSTableView *)tableView 
  willDisplayCell:(id)cell 
  forTableColumn:(NSTableColumn     
    *)tableColumn 
     row:(NSInteger)row
然后在此基础上提取单元格值并使用
setBackgroundColor
api


2) 第二种方法是使用tableview的
preparecellcolumn
api,该api将返回单元格值,然后设置
backgroundcolor

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

我在tableView属性指令器中勾选了交替行。然后,只需在属性检查器中将tableView背景色设置为clearColor即可


我已经有了一个cell实例,因为我使用了自定义cell类。我为图层设置了setBackgroundColor,但不起作用。您是否正确获取了单元格内的值?是否可以粘贴代码,我需要检查您是如何设置的。在
CustomTableCellView
方法的
self.layer.backgroundColor=[NSColor clearColor].CGColor,它不工作。它是mac应用程序。我尝试了您的解决方案,实际上preparecellcolumn用于基于单元格的表格单元格,但我使用的是基于视图的;
- (void)tableView:(NSTableView *)tableView 
  willDisplayCell:(id)cell 
  forTableColumn:(NSTableColumn     
    *)tableColumn 
     row:(NSInteger)row