Текущей настройки:Масштабирование шрифта на многострочное UIButton в зависимости от размера устройства
У меня есть многострочногоUIButton
, который добавляется к его надтаблице (обычный UIView
). Ширина кнопки составляет 90% от ее просмотра. Поэтому, когда изменяется размер его супервизора, ширина метки изменяется соответственно из-за ограничений Autolayout
.
Далее, внутри метода viewDidLoad я сделал это:
//Line break mode and Font size (are set in Interface Builder
myButton.titleLabel?.adjustsFontSizeToFitWidth = true
myButton.titleLabel?.minimumScaleFactor = 15.0
myButton.titleLabel?.numberOfLines = 2
Так что теперь, когда у меня есть длинный текст, на iPhone устройств я получаю что-то вроде этого:
это именно то, что я хочу , Но, конечно, это выглядит по-разному на устройствах iPad. Например, это на IPad Pro 9.7" :.
И как это может быть увидеть, все выглядит маленьким и плохо
То, что я пробовал:
Я пытался установить максимальный размер шрифта (который будет использоваться на iPad-устройствах) в сочетании с minimumScaleFactore = 15
.Так что я установил размер шрифта до 25, и теперь все выглядит более приемлемым как на iPad, так и на iPhone, но все же на iPhone-устройствах текст является бит больше, чем мне нужно из-за того, как работает минимумScaleFactor.
Каким будет этот способ?
Я больше в получении что-то вроде этого (чтобы получить подобный взгляд на всех устройствах IPad и iPhone):
Так в основном, я ищу способ для установки все это каким-то образом, в идеале через IB, или, если это невозможно, через код , но я стараюсь избегать установки шрифта на основе обнаруженного устройства программно. Я имею в виду ничего плохого с этим, но мне было интересно, есть ли что-то более элегантное. – Whirlwind