繁体   English   中英

如何使NSTableView透明?

[英]How to make NSTableView transparent?

我想制作透明的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
你可以看到..

在此输入图像描述

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

如果你有一个封装NSTableViewNSScrollView ,你可以将滚动视图的drawsBackground属性设置为NO如下所示:

yourScrollView.drawsBackground = NO;

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

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

和它的工作正常.. - - Snehal

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

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

迅速:

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

Objective-C的

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

Apple - 修改表的可视属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM