Установить размер шрифта UILabel в соответствии с размером кадра?

У меня есть приложение, которое позволяет пользователю использовать жест сжатия для масштабирования метки. Как изменить размер шрифта в соответствии с новым размером кадра, чтобы шрифт просто помещался в прямоугольнике кадра?

Мой текущий шаг — установить метку только с новым преобразованием, и текст будет выглядеть размытым, если метка слишком маленькая/большая. Я хочу убедиться, что метка может четко отображать текст, где текст может иметь максимальный размер в соответствии с новым прямоугольником кадра.


person Hanon    schedule 21.11.2011    source источник


Ответы (1)


myLabel.adjustsFontSizeToFitWidth = YES;

Если вы используете InterfaceBuilder, отметьте «Autoshrink» для метки.

Убедитесь, что «Минимальный размер» не слишком велик.

person Sanjay Chaudhry    schedule 21.11.2011
comment
Поскольку я хочу, чтобы пользователь мог сжимать размер по своему усмотрению, я установил размер шрифта на 300 при его инициализации. Но текст кажется не гладким, когда этикетка маленькая. Код у меня есть: [label setText:text]; [метка setTextColor:цвет]; [label setFont:font];// размер шрифта установлен на 300 [label setNumberOfLines:1]; [метка setMinimumFontSize:5]; [метка setAdjustsFontSizeToFitWidth: YES]; - person Hanon; 21.11.2011
comment
Очевидно, будет некоторый предел шрифтов. После некоторого уровня это не будет намного более гладким, чем они выглядят в обычном виде. В противном случае я согласен с ответом Санджая. Я думаю, это единственный способ. - person Mrunal; 21.11.2011