Свечение вокруг кнопки - PullRequest
1 голос
/ 23 марта 2010

Как я могу нарисовать небольшое белое свечение вокруг кнопки или надписи в 10.5 и позже? Я видел, как некоторые приложения делают это, но я все еще не понимаю, как мне это сделать.

1 Ответ

4 голосов
/ 23 марта 2010

См. NSShadow . Вы бы создали и установили тень (, предварительно сохраняя свой графический контекст ), затем нарисовали основную форму своей кнопки, сбросили ее (восстановив свой графический контекст), затем продолжили рисовать как обычно.

В случае готового элемента управления, такого как NSButton, вам потребуется подкласс и переопределить его рисунок ячейки (и, возможно, сделать сам управляющий элемент NSButton хоста немного больше, чтобы вместить большую область, необходимую для охватывает "свечение" клетки).

Вы могли бы быть в состоянии избежать этого с помощью метки, установив ее тень шрифта, но я не думаю, что IB позволяет вам сделать это, поэтому вы программно дадите метке приписанную строку (через его -setAttributedString: метод). Атрибуты будут включать NSShadow (настроенный по желанию) в качестве NSShadowAttributeName.

...