Ответ 1
Вы должны использовать автоусадку.
Поскольку все iPhone имеют одинаковый класс размера Compact width
в портретном режиме, вы не можете полагаться на это для обработки размера этикетки.
Превью для iPhone5, iPhone6 и iPhone 6+
В инспекторе вы должны выбрать минимальный масштаб шрифта или минимальный размер шрифта перед автоусадкой. Это позволяет содержимому изменять размер шрифта, чтобы он помещался в метке.
Здесь я установил минимальный масштаб шрифта на 0,5, поэтому минимальный размер составляет половину текущего размера (31,0). Текст будет пытаться соответствовать, пока не достигнет минимального масштаба/размера.
(Как правило, для этой цели не используйте "Сократить межбуквенный интервал". Сокращенный межбуквенный интервал использует тот же размер шрифта и уменьшает интервал между буквами. Это может сделать метку на 5% плотнее перед усечением, но неэффективно при минимальном масштабе шрифта/размер включен.)
Возможно, вы захотите провести тестирование на широкоэкранном устройстве, таком как iPad Pro, а также на меньшем экране, например iPhone 4S. Хорошей практикой является тестирование с различными размерами шрифтов пользовательских систем, вы можете установить их в Settings
> General
> Accessibility
> Larger Text
.
Автоматическое сжатие не будет регулировать размер шрифта больше размера шрифта, установленного на метке, то есть если вы сделаете метку такой же ширины, как экран, но оставите размер шрифта 14, она попытается увеличить шрифт размер, пока не достигнет этого размера.
Чтобы это работало, выберите большой размер шрифта.
Вы можете комбинировать автоматическое сжатие с классами размера, чтобы изменить максимальный размер шрифта в зависимости от устройства/ориентации.
Если вы хотите использовать автоусадку с UIButton
s, вы все равно можете установить это поведение с двумя строками кода.
myButton.titleLabel.minimumScaleFactor = 0.5;
myButton.titleLabel.adjustsFontSizeToFitWidth = YES;