Как выяснить размер шрифта UILabel, когда-adjustsFontSizeToFitWidth установлен на ДА?

Когда myLabel.adjustsFontSizeToFitWidth = YES, UILabel скорректирует размер шрифта автоматически в случае, если текст является слишком длинным для маркировки. Например, если моя маркировка будет всего 100 пкс шириной, и мой текст является слишком длинным для установки размеру текущего шрифта, то это уменьшит размер шрифта, пока текст не впишется в маркировку.

Я должен получить фактический отображенный размер шрифта от UILabel, когда размер шрифта был уменьшен. Например, скажем, мой размер шрифта равнялся на самом деле 20, но UILabel должен был уменьшить его вниз к 10. Когда я прошу у UILabel шрифт и размер шрифта, я получаю свой старый размер шрифта (20), но не тот, который это отобразило (10).

25
задан Pang 12 August 2015 в 05:20
поделиться

1 ответ

Я не уверен, что это полностью точно, но это должно быть довольно близко, надеюсь. Он может не учитывать усеченные строки или высоту метки, но это то, что вы можете сделать вручную.

Метод

- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode

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

6
ответ дан 28 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: