我有一个NSBorderlessWindow类型的窗口,其contentView具有以下hirarchy:
view 1 -> draws gray background
|
+ view 2 -> draws rectangle with [NSColor colorWithDeviceRed:0 green:0 blue:0 alpha:0.8]
结果如下:
视图2是视图1的子视图,从我的理解中,半透明的黑色应该叠加在灰色上。但是,黑色似乎取代了绘制区域中的灰色。我使用NSRectFill进行绘图。我怎么能避免这种效果,半透明的黑色真的画在灰色上?
答案 0 :(得分:1)
有人在irc.freenode.net上非常棒的#macdev频道向我指出,我应该将NSRectFillUsingOperation与NSCompositeSourceOver一起使用,这就像魅力一样。无论出于何种原因,默认的NSRectFill似乎都在使用不同的复合材料。