2011-12-20 213 views
3

我在NSWindow中有一個NSView,NSWindow是標準的Mac灰色/米色。半透明NSView

我想讓NSView稍微半透明和灰色(例如灰度爲0.2的alpha),以使NSWindow的背景(米色)顯示。

如果我在drawRect的NSView中繪製矩形,alpha值將被忽略並始終爲1。

在iPhone發生這種情況時,我將UIView的opaque屬性設置爲NO,但是NSView具有這樣的屬性。

我將NSWindow上的opaque屬性設置爲NO,它使NSView接受透明度,但使NSWindow在NSView下面完全透明,我可以看到桌面下面。

回答

3

在iPhone發生這種情況時,我將UIView的opaque屬性設置爲NO,但是NSView具有這樣的屬性。

它確實,但it's read-only,所以你只能通過覆蓋子類來改變它。此外,它默認爲NO,所以你不需要或不想這樣做。

您是否使視圖支持層?對於沒有圖層的視圖,setAlphaValue:不起作用;事實上,文檔說如果你嘗試設置它的alpha值,沒有圖層的視圖將會拋出異常。