2013-01-14 45 views
0

我已經擴展我的窗口,以便它具有按鈕內容邊框。問題是我的NSSplitView覆蓋了邊界。我的想法是,我可以使分割視圖透明(但頂部的控件不透明)。如何使NSSplitView透明而不使分離器消失?

下圖顯示了什麼,我在尋找,但缺少分離器:

Screenshot with missing splitter

看到窗口的底部如何上有按鈕。這是我試圖達到的效果,但沒有任何運氣。 ,我嘗試使用的代碼是:

CALayer *transparentViewLayer = [CALayer layer]; 
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(
                 256.0, 
                 256.0, 
                 256.0, 
                 0)]; //RGB plus Alpha Channel 
[splitView setWantsLayer:YES]; // view's backing store is using a Core Animation Layer 
[splitView setLayer: transparentViewLayer]; 

如果我不設置transparentViewLayer,然後我結束了以下內容:

Splitter but hidden bottom bar

這說明spitter,但隱藏窗戶底部欄。我也曾嘗試繼承NSSplitView並添加以下內容:

- (void) drawRect: (NSRect) dirtyRect 
{ 
    [[NSColor colorWithSRGBRed: 0.0 green: 255.0 blue: 0.0 alpha: 155.0] setFill]; 
    NSRectFill(dirtyRect); 
} // End of drawRect 

這給我留下了綠色的分離器和不透明度爲窗口底部欄。關於如何實現我所尋找的效果的任何想法? (我想用我的按鈕和分離器底部欄可見)。

回答

0

在你的子類中,不要覆蓋-[NSSplitView drawRect:]。相反,重寫-drawDividerInRect:並在該矩形中繪製您的分隔線。 總是consult the documentation第一個當你想「彎曲」一個類到你的意志。

相關問題