iPhone: сохранить текст хорошо выглядящим после применения масштабного преобразования? - PullRequest
3 голосов
/ 02 июня 2010

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

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

Ответы [ 2 ]

3 голосов
/ 10 марта 2011

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

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

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

0 голосов
/ 16 ноября 2012

Мое решение:

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

установите флажок «Восстановить» при сохранении в исходном размере.

...