Я динамически заполняю заголовок (UILabel). Иногда это слишком долго, и IOS сжимает шрифт, чтобы соответствовать ширине. Есть ли способ сделать многострочное с использованием того же размера шрифта?
Установите adjustsFontSizeToFitWidth на NO и numberOfLines на 0.
adjustsFontSizeToFitWidth
numberOfLines
Это свойство контролирует максимальное количество строк, чтобы использовать, чтобы поместить текст метки в ограничивающий прямоугольник.Значение по умолчанию для этого свойства равно 1. Чтобы удалить любой максимальный предел и использовать столько строк, сколько необходимо, установите значение этого свойства равным 0. Если вы ограничиваете свой текст с помощьюэто свойство, любой текст, который не помещается в максимальное количество строк и внутри ограничительного прямоугольника метки, усекается с использованием соответствующего режима разрыва строки. Когда размер приемника изменяется с помощью метода sizeToFit, изменение размера занимаетво внимание значение, хранящееся в этом свойстве.Например, если для этого свойства задано значение 3, метод sizeToFit изменяет размер получателя так, чтобы он был достаточно большим для отображения трех строк текста.
Это свойство контролирует максимальное количество строк, чтобы использовать, чтобы поместить текст метки в ограничивающий прямоугольник.Значение по умолчанию для этого свойства равно 1. Чтобы удалить любой максимальный предел и использовать столько строк, сколько необходимо, установите значение этого свойства равным 0.
Если вы ограничиваете свой текст с помощьюэто свойство, любой текст, который не помещается в максимальное количество строк и внутри ограничительного прямоугольника метки, усекается с использованием соответствующего режима разрыва строки.
Когда размер приемника изменяется с помощью метода sizeToFit, изменение размера занимаетво внимание значение, хранящееся в этом свойстве.Например, если для этого свойства задано значение 3, метод sizeToFit изменяет размер получателя так, чтобы он был достаточно большим для отображения трех строк текста.
Вы можете дополнительно указать lineBreakMode, если по умолчанию UILineBreakModeWordWrap подходит для того, что вы хотите.
lineBreakMode
UILineBreakModeWordWrap
Используйте UILabel свойства, как показано ниже:
UILabel
textLabel.lineBreakMode = NSLineBreakByWordWrapping; textLabel.numberOfLines = 0;
Да, вы устанавливаете numberOfLines в 0, а .lineBreakMode в UILineBreakModeWordWrap в коде или эквивалентах, если ваша метка определена в IB.
.lineBreakMode
Я только что использовал режим LineBreak, чтобы обрезать хвост и установить NumberOfLines в 0, и он работает для меня.этикетка теперь многострочная.