【问题标题】:Subview overwrites superview子视图覆盖超级视图
【发布时间】:2011-04-15 17:30:43
【问题描述】:

我有一个 NSBorderlessWindow 类型的窗口,其 contentView 具有以下层次结构:

view 1 -> draws gray background
  |
  + view 2 -> draws rectangle with [NSColor colorWithDeviceRed:0 green:0 blue:0 alpha:0.8]

结果如下所示:

视图 2 是视图 1 的子视图,据我了解,半透明的黑色应该覆盖在灰色上。但是,似乎黑色取代了绘制区域中的灰色。我使用 NSRectFill 进行绘图。我怎样才能避免这种效果,让半透明的黑色真正覆盖灰色?

【问题讨论】:

    标签: cocoa drawing nsview subview


    【解决方案1】:

    irc.freenode.net 上很棒的#macdev 频道上有人向我指出,我应该将 NSRectFillUsingOperation 与 NSCompositeSourceOver 一起使用,这就像一个魅力。无论出于何种原因,默认的 NSRectFill 似乎都在使用不同的组合。

    【讨论】:

    • 去吧! :-) 请注意,您应该接受自己的答案,这样问题就不会出现在未回答问题列表中。
    猜你喜欢
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多