Подтвердить что ты не робот

Добавить тень (утопленный текстовый эффект) на метку Cocoa без ухудшения качества рендеринга текста

Я хотел бы создать панель состояния с текстовым эффектом, например, в Safari или iTunes, то есть в углубленном тексте.

example

Однако, если я просто добавлю тень в Interface Builder с помощью панели Core Animation, худший текстовый рендеринг OS X запускается в:

wheres my subpixel

Что за трюк, чтобы получить утопленный текст на ярлыке и сохранить правильный субпиксельный рендеринг?

4b9b3361

Ответ 1

Существует встроенный способ:

[[yourTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];

Ответ 2

Это дешевый старый трюк: вы рисуете текст в белом со смещением, а затем нарисуете черный текст поверх него.

В системе рисования текста есть крючок для теней, NSAttributedString NSShadowAttributeName. Но, проверяя это, он также убивает и субпиксельное сглаживание.