Добавьте тень (эффект утопленного текста) к метке Какао без ухудшения качества отображения текста
Я хотел бы создать строку состояния с текстовым эффектом, как в Safari или iTunes, то есть с утопленным текстом.
Однако, если я просто добавлю тень в Интерфейсном Разработчике, используя панель Core Animation, худший рендеринг текста в OS X проявится:
Что за хитрость заключается в том, чтобы получить утопленный текст на этикетке и сохранить правильный субпиксельный рендеринг?
2 ответа
Решение
Существует встроенный способ сделать это:
[[yourTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
Это дешевый старый трюк: вы рисуете текст белым цветом со смещением, а затем рисуете черный текст поверх него.
В системе рисования текста есть ловушка для теней, NSShadowAttributeName NSAttributedString. Но, проверяя это, он, похоже, убивает субпиксельное сглаживание.