2010-06-02 3 views
3

Я применяю масштабное преобразование к UIView, которое рисует число. (Число буквально нарисовано с помощью drawInRect, нет UILabel в поле зрения.) Масштабное преобразование делает вид меньше поменьше ... скажем, на 80% меньше.iPhone: сохранить текст хорошо выглядеть после применения масштабирования?

Итоговое число выглядит немного «коренастым». Есть ли способ, которым я могу сохранить свой текст красивым и сглаженным, как он должен выглядеть?

ответ

3

Проблема заключается в том, что ваш масштаб просто масштабируется на визуализированном (растровом) тексте, который делает его размытым. Один из способов - изменить размер шрифта текста в соответствии с размером контейнера перед его масштабированием или даже полностью исключить масштаб и просто изменить размер шрифта. См. Это related question.

Результаты зависят от того, как вы масштабируете вид. Возможно, просто изменить размер шрифта недостаточно, и вам нужно растянуть выделенный текст. Если это так, вам придется придумать another approach.

Я знаю, что вы не используете UILabel, но установка myLabel.adjustsFontSizeToFitWidth = YES приведет к трюку размера шрифта для вас, если вы решите пойти по этому пути.

0

Мое решение:

lbl.layer.shouldRasterize = YES; 
    lbl.layer.rasterizationScale = 0.375f; 

набор shouldRasterize когда магазин оригинального размера.