2011-09-15 29 views
12

我想製作透明的NSTableView。
我在這裏使用WindowController類。
我是想這樣的:如何使NSTableView透明?

- (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

任何幫助?請記住我或糾正我,如果我做錯了什麼。
謝謝。

+4

得到回答.. !!!我只是嘗試這樣做 '[tableview中setBackgroundColor:[NSColor clearColor];'' [tableview中setHeaderView:無];' 及其工作很好.. – iUser

+0

這個工作對我來說也是如此。具體將背景色設置爲clearColor – harryhorn

回答

4

Got Answer .. !!!我只是嘗試這樣做

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

及其工作很好.. - - Snehal

從,有關意見作爲其有點埋葬......

6

如果你有一個NSScrollView封閉你NSTableView,您可以滾動視圖的drawsBackground屬性設置爲NO這樣的:

yourScrollView.drawsBackground = NO;

0

如果您的應用程序需要顯示複製透明表格視圖,將表格視圖的背景顏色設置爲清晰,並將封閉滾動視圖設置爲不繪製其背景。下面的代碼段示出了一種方式,以顯示一個透明表:

夫特:

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

目標C

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

Apple - Modifying a Table’s Visual Attributes