2010-09-15 180 views
0

我有一個NSWindow,我使用此代碼在底部添加底部金屬條。setBackgroundColor覆蓋元素

[MyWindow setContentBorderThickness:40.0 forEdge:NSMinYEdge]; 

工作正常。但是,一旦我用這個:

[MyWindow setBackgroundColor: [NSColor redColor]]; 

紅色覆蓋底部的工具欄。酒吧顯示正確,沒有背景顏色。

回答

2

是的,看起來改變NSWindow的背景顏色會否定它的下邊框。爲了達到兩種效果,你可以做兩件事情之一:

  1. 在Interface Builder中,將你的所有界面元素的NSView一個子類,繪製其背景和視圖添加到您的窗口。
  2. 創建一個NSView模擬窗口的底部邊框並設置窗口的背景顏色。

就個人而言,我會去的第一個選項,因爲它需要較少的工作(試圖效仿底部邊框將是困難的,即使有NSGradient),但兩者都是一種可能性。

+0

感謝您的回答,但我試圖做的是做一個圖像,這是我想要的背景顏色,並在IB中使用一些調整大小,使其成爲窗口的背景顏色。 – alexy13 2010-09-16 10:49:31

+0

您可以使用任一選項將圖像作爲背景進行繪製。 – 2010-09-16 18:56:57