2012-02-19 2 views
1

У меня UILabel на моем UIView. Я всегда получаю различные данные для своей метки (из бэкэнд). У меня есть некоторый прямоугольник для отображения текста в View (я устанавливаю его как размер uilabel, этот размер является постоянным).UILabel с постоянным размером и динамическим размером шрифта зависит от текста

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

(моя метка может быть мульти линий, чтобы иметь размеры константные Rect границы)

ответ

0

Там находится имущество в UILable - adjustToFitWidth в XIb, где вы можете дать минимальный размер шрифта. Поэтому, если ваш текст становится длиннее, тогда он автоматически уменьшит размер шрифта, чтобы настроить его в ярлыке.

Примечание: любое значение, заданное в adjustToFitWidth, является минимальным пределом, поэтому ваш размер шрифта всегда будет больше или равен этому значению.

Наслаждайтесь Coding :)

+0

adjustsFontSizeToFitWidth и minimumFontSize влияет только на однострочный текст. но я рассказал об мутипильных линиях uilabel. Я не упоминаю об этом, извините. –

0

Я хотел бы сделать это таким образом: Получить количество символов NSString. На основе этого количества символов вычислите размер.

NSString *myString = @"Hello"; 
int myInt = myString.length; 
float fontSize = PUT_A_VALUE_HERE/myInt; 

Вы собираетесь играть с переменной PUT_A_VALUE_HERE, пока вы не получите желаемый результат. После этого измените размер шрифта

[lblYourUILabel setFont:[UIFont fontWithName:fontName size:fontSize]]; 
+0

Его работа, если вы используете только моноширинный шрифт. Я использую Helvetica, не моноширинный шрифт. –

Смежные вопросы