【问题标题】:How to make NSTableView transparent?如何使 NSTableView 透明?
【发布时间】:2011-11-17 14:43:52
【问题描述】:

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

有什么帮助吗??如果我做错了什么,请记住我或纠正我。
谢谢。

【问题讨论】:

  • 得到答案..!!!我刚试过这个[tableview setBackgroundColor:[NSColor clearColor]];[tableview setHeaderView:nil];,它工作正常..
  • 这对我也有用。专门将背景颜色设置为 clearColor

标签: macos xcode4 transparency nstableview


【解决方案1】:

如果你有一个NSScrollView 包围你的NSTableView,你可以像这样将滚动视图的drawsBackground 属性设置为NO

yourScrollView.drawsBackground = NO;

【讨论】:

    【解决方案2】:

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

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

    它的工作正常.. – – Snehal

    从有问题的评论中复制,因为它有点隐藏......

    【讨论】:

      【解决方案3】:

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

      斯威夫特:

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

      目标-C

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

      Apple - Modifying a Table’s Visual Attributes

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多