у меня есть многострочный UILabel, размер шрифта которого я бы хотел настроить в зависимости от длины текста. Весь текст должен помещаться в рамку метки, не обрезая ее.
К сожалению, согласно документации, свойство adjustsFontSizeToFitWidth
«действует только тогда, когда для свойства numberOfLines
установлено значение 1» .
Я попытался определить скорректированный размер шрифта, используя
-[NSString (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode]
, а затем уменьшил размер шрифта, пока он не подошел. К сожалению, этот метод внутренне усекает текст, чтобы он соответствовал указанному размеру, и возвращает размер результирующей усеченной строки.