Subview перезаписывает superview - PullRequest
2 голосов
/ 15 апреля 2011

У меня есть окно типа NSBorderlessWindow с contentView, которое имеет следующую иерархию:

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

Вот как выглядит результат: enter image description here

представление 2 является подпредставлениемс точки зрения 1, насколько я понимаю, полупрозрачный черный должен накладываться поверх серого.Однако кажется, что черный цвет заменяет серый в нарисованной области.Я использую NSRectFill для рисования.Как я мог избежать этого эффекта и заставить полупрозрачный черный действительно рисовать поверх серого?

1 Ответ

1 голос
/ 15 апреля 2011

Кто-то на потрясающем канале #macdev на irc.freenode.net указал мне, что я должен использовать NSRectFillUsingOperation с NSCompositeSourceOver, который работает как шарм. По умолчанию NSRectFill использует другую композицию по любой причине.

...