Добавьте тень (эффект утопленного текста) к метке Какао без ухудшения качества рендеринга текста - PullRequest
14 голосов
/ 19 ноября 2009

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

example

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

wheres my subpixel

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

Ответы [ 2 ]

35 голосов
/ 19 ноября 2009

Существует встроенный способ сделать это:

[[yourTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
6 голосов
/ 19 ноября 2009

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

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

...