Как нарисовать внутреннюю тень текста на Какао для Mac OS X - PullRequest
4 голосов
/ 06 января 2012

Как нарисовать внутреннюю тень на тексте в Какао для Mac OS X?

Я создаю подкласс NSView для создания элемента-заполнителя с градиентным фоном и надписью над ним с внутренним затененным текстом.

Все текущие ответы Core Graphics о stackoverflow, кажется, объясняют рисование текстовых теней в Cocoa Touch.

1 Ответ

4 голосов
/ 13 июня 2012

Вы можете подумать, что слишком сложно. Если я правильно понял вашу проблему, единственное, что вы на самом деле хотите сделать, это установить стиль текста. Затем сделайте это, просто используя:

[[object cell] setBackgroundStyle:NSBackgroundStyleRaised];

где объект является экземпляром класса NSTextField.

Это обрабатывает все для вас. Ваш градиентный фон может быть достигнут, например, с помощью пользовательского представления с NSGradient. Смотри здесь

Преимущество: у вас есть подходящий экземпляр NSTextField без необходимости создавать его подклассы или делать другие ненужные вещи, такие как реализация всего, что NSTextField делает в подклассе NSView самостоятельно.

...