如何使NSTableView透明?

时间:2011-09-15 06:37:29

标签: macos xcode4 transparency nstableview

我想制作透明的NSTableView 我在这里使用WindowController类 我正在尝试这个:

- (void)windowDidLoad
{
     [super windowDidLoad];
     [[self enclosingScrollView] setDrawsBackground: NO];
     [[self enclosingScrollView] setBorderType:NSNoBorder];

}

- (BOOL)isOpaque {

      return NO;
} 
- (void)drawRect:(NSRect)drawRect
{
     [super drawRect: drawRect];
}

但是当我写这段代码时,我在帮助窗口找不到enclosingScrollView 你可以在这里看到..

enter image description here

任何帮助?如果我做错了,请记住我或纠正我 谢谢。

3 个答案:

答案 0 :(得分:6)

如果NSScrollView包含NSTableView,则可以将滚动视图的drawsBackground属性设置为NO,如下所示:

  

yourScrollView.drawsBackground = NO;

答案 1 :(得分:5)

得到答案.. !!!我刚试了这个

[tableview setBackgroundColor:[NSColor clearColor]]; 
[tableview setHeaderView:nil]; 

及其工作正常...... - - Snehal

复制有问题的评论,因为它有点埋没......

答案 2 :(得分:1)

如果您的应用需要显示透明表格视图,请将表格视图的背景颜色设置为清除,并将封闭滚动视图设置为不绘制其背景。以下代码段显示了一种显示透明表的方法:

夫特:

yourTableView.backgroundColor = NSColor.clear
yourTableView.enclosingScrollView?.drawsBackground = false

目标-C

[theTableView setBackgroundColor:[NSColor clearColor];
[[theTableView enclosingScrollView] setDrawsBackground:NO];

Apple - Modifying a Table’s Visual Attributes

相关问题