#objective-c #ios #uilabel #multiline
#objective-c #iOS #uilabel #многострочный
Вопрос:
Я динамически заполняю заголовок (UILabel). Иногда это слишком длинно, и IOS сжимает шрифт, чтобы он соответствовал ширине. Есть ли способ сделать многострочную с использованием того же размера шрифта?
Ответ №1:
Установите adjustsFontSizeToFitWidth
значение NO и numberOfLines
значение 0.
Документы numberOfLines
Это свойство определяет максимальное количество строк, которые нужно использовать, чтобы текст метки помещался в ограничивающий его прямоугольник. Значение по умолчанию для этого свойства равно 1. Чтобы удалить любое максимальное ограничение и использовать столько строк, сколько необходимо, установите значение этого свойства равным 0.
Если вы ограничиваете свой текст с помощью этого свойства, любой текст, который не помещается в пределах максимального количества строк и внутри ограничивающего прямоугольника метки, усекается с использованием соответствующего режима разрыва строки.
При изменении размера получателя с помощью метода sizeToFit изменение размера учитывает значение, сохраненное в этом свойстве. Например, если для этого свойства установлено значение 3, метод sizeToFit изменяет размер приемника так, чтобы он был достаточно большим для отображения трех строк текста.
Вы можете дополнительно указать lineBreakMode
, если значение по умолчанию UILineBreakModeWordWrap
не подходит для того, что вы хотите.
Комментарии:
1. Стоит отметить, что
UILineBreakModeWordWrap
это устарело с iOS 6.0, заменено наNSLineBreakByWordWrapping
2. Нет необходимости устанавливать
adjustsFontSizeToFitWidth
значениеNO
— по умолчаниюNO
Ответ №2:
Используйте UILabel
свойства, как показано ниже :
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;
Ответ №3:
Да, вы устанавливаете значение numberOfLines
0 и значение .lineBreakMode
UILineBreakModeWordWrap
в коде или эквиваленты, если ваша метка определена в IB.
Ответ №4:
Я просто использовал режим прерывания строки, чтобы обрезать хвост и установить numberOfLines равным 0, и это работает для меня. теперь метка многострочная.
Комментарии:
1. Установите для автоматической усушки минимальный размер шрифта. и проверьте интервал между буквами.
2. Это важно! Перенос слов этого не делает, вы должны установить режим усечения