Как я могу затемнить все, что отображается в одном NSView? - PullRequest
3 голосов
/ 21 января 2009

Фон: Мое приложение имеет главное окно, которое содержит несколько небольших NSView объектов, каждый из которых содержит несколько различных элементов управления, метки, изображения и т. Д. Одно из этих представлений (и все, что оно содержит ) отключен в ответ на заданный флаг. Когда флаг установлен, я автоматически отключаю и затемняю все элементы управления, встроенные в этот NSView.

Вопрос: Я хотел бы знать, как затемнить инвалида NSView. Эффект, который я ищу, будет что-то вроде рисования прозрачного черного прямоугольника на 50% поверх отключенного NSView. Фон и все элементы управления все еще будут видны, но цвета будут темнее. Есть ли простой способ сделать это?

1 Ответ

2 голосов
/ 21 января 2009

CoreAnimation в 10.5 должен обеспечить простой способ разместить полупрозрачный слой над видом. Вы можете создать черный слой перед видом с непрозрачностью 0%. Если вы хотите затемнить изображение, установите непрозрачность черного слоя на 50%, и изображение будет затемнено плавно.

...