Нарисуйте NSShadow внутри NSView - PullRequest
0 голосов
/ 19 февраля 2012

Я пытаюсь нарисовать NSShadow на фоне NSView.Я хочу использовать его как замену NSGradient, так как мне нужно поддерживать Mac OS X Tiger.Как я могу это сделать?Я знаю, что это должно быть довольно легко, и я, должно быть, делаю какую-то ошибку.

1 Ответ

6 голосов
/ 19 февраля 2012

Самый простой подход - просто установить свойства тени для слоя вида. Если у вас есть NSView * с именем view, это будет что-то вроде:

[[view layer] setShadowOpacity:0.5];

Установка непрозрачности тени на значение, большее 0, сделает тень видимой. Нарисованная тень будет похожа на альфа-канал представления, поэтому все, что вы рисуете в представлении, будет иметь тень. Есть несколько других атрибутов тени, которые вы можете установить, например радиус размытия. Взгляните на справочную страницу CALayer , чтобы узнать больше.

Если вы должны использовать NSShadow, просто настройте тень, прежде чем приступить к рисованию:

* * 1010
...