Многострочный UILabel с adjustsFontSizeToFitWidth

у меня есть многострочный UILabel, размер шрифта которого я бы хотел настроить в зависимости от длины текста. Весь текст должен помещаться в рамку метки, не обрезая ее.

К сожалению, согласно документации, свойство adjustsFontSizeToFitWidth «действует только тогда, когда для свойства numberOfLines установлено значение 1» .

Я попытался определить скорректированный размер шрифта, используя

-[NSString (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode]

, а затем уменьшил размер шрифта, пока он не подошел. К сожалению, этот метод внутренне усекает текст, чтобы он соответствовал указанному размеру, и возвращает размер результирующей усеченной строки.

43
задан Ortwin Gentz 21 February 2014 в 09:00
поделиться