Полупрозрачный NSView - PullRequest
       6

Полупрозрачный NSView

3 голосов
/ 21 декабря 2011

У меня есть NSView в NSWindow, NSWindow - это стандартный Mac серый / бежевый цвет.

Я хочу сделать NSView слегка прозрачным и серым (например, серый цвет с альфа-значением 0,2), чтобы фон (бежевый) NSWindow был сквозным.

Если я рисую прямоугольник в NSView в drawRect, альфа-значение игнорируется и всегда равно единице.

На iPhone, когда это происходит, я устанавливаю непрозрачное свойство UIView в NO, однако NSView имеет такое свойство.

Я установил непрозрачное свойство в NSWindow на NO, и это заставило NSView принимать прозрачность, но сделало NSWindow под NSView полностью прозрачным, и я мог видеть рабочий стол под ним.

1 Ответ

3 голосов
/ 21 декабря 2011

На iPhone, когда это происходит, я устанавливаю непрозрачное свойство UIView в NO, однако NSView имеет такое свойство.

Да, но только для чтения , поэтому вы можете изменить его только путем переопределения в подклассе. Более того, по умолчанию это NO, так что вам не нужно или не нужно это делать.

Вы делали вид подложкой? setAlphaValue: не работает с представлениями, в которых нет слоев; фактически, в документации говорится, что представление без слоя вызовет исключение, если вы попытаетесь установить его альфа-значение.

...