半透明的NSView

时间:2011-12-20 21:00:11

标签: macos cocoa transparency nsview

我在NSWindow有一个NSView,NSWindow是标准的Mac灰色/米色。

我想让NSView略微半透明和灰色(例如灰色,alpha为0.2),以便NSWindow的背景(米色)显示出来。

如果我在drawRect中的NSView中绘制一个rect,则忽略alpha值并始终为1。

在iPhone发生这种情况时,我将UIView的opaque属性设置为NO,但是NSView具有这样的属性。

我将NSWindow上的opaque属性设置为NO,它使NSView接受透明度,但使NSView下面的NSWindow完全透明,我可以看到桌面下方。

1 个答案:

答案 0 :(得分:3)

  

在iPhone发生这种情况时,我将UIView的opaque属性设置为NO,但是NSView具有这样的属性。

确实如此,但是it's read-only,所以你只能通过覆盖子类来改变它。此外,默认情况下为NO,因此您不需要或不想这样做。

您是否为视图层提供了支持? setAlphaValue:不适用于没有图层的视图;实际上,文档说如果你试图设置它的alpha值,没有图层的视图会抛出异常。