Мы все знаем, как создать динамический UILabel шрифт (Single Line) -Создание одного размера шрифта динамического UILabel
lbl.adjustsFontSizeToFitWidth = true
lbl.numberOfLines = 1
lbl.minimumScaleFactor = 0.1
lbl.baselineAdjustment = UIBaselineAdjustment.AlignCenters
lbl.textAlignment = NSTextAlignment.Center
Проблема заключается в том, что она дает разные результаты для каждой заданной строки. Так, например, если у меня есть строка "Hello"
и "Hello World"
, то рассчитанный размер шрифта будет разным. Мне нужно создать динамический шрифт с одним размером для всех строк.
Пример из моего проекта:
Пример из iPhone 6 встроенных эффектов камеры (Как вы можете видеть все размеры шрифтов UILabels матчей):
Что я думал делать?
В основном я знаю, какая у меня самая большая строка. Так что я думал, как-то вычислить (эффективным образом), что будет размер шрифта для наибольшая строка в данных CGSIze. Так что он всегда будет оставаться в безопасности. Любые предложения?
Привет, матовый, Спасибо за ваш комментарий. Я знаю, что это неправильный способ использовать его * ЕСЛИ * вы ищете одинаковые размеры шрифта, очевидно. Я просто выложил его, чтобы люди не предлагали этот метод. В основном, что мне нужно делать (эффективным способом). С размером рамки (UILabel frame) и заданной строкой (включая имя шрифта) -> получить взамен необходимый размер шрифта –
И я ответил на это. Просто сделайте быстрый цикл, скажем, 10 разных размеров. Ничего неэффективного. Это не займет миллисекунды. Доверьтесь мне. Я сделал это миллион раз. – matt
Да. Это то, что я планировал сделать, просто хотел попробовать получить лучшие результаты. В настоящее время у нас есть iPhone 4 для iPad сетчатки -> Огромная разница. И im, используя autoLayout, чтобы настроить мой просмотр, и это все относительно размера экрана. Таким образом, для большего экрана он может работать более 10 раз. –