Я знаю, что это одна:Как вычислить высоту текстового прямоугольника из NSString?
sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:
Но поскольку CGSize всегда имеет одинаковую высоту и не приспосабливаются к любой усаживается текст или вообще, то CGSize не говорит, как Heigh текст.
Пример: сделайте UILabel с 320 x 55 точками и поместите там loooooooooooooong текст. Пусть этикетка сократит текст. Сюрприз: CGSize.height остается той же высоты, даже если текст настолько крошечный, что вам нужен микроскоп.
Итак, после того, как я ударил головой о мой macbook pro, который сейчас на полпути сломан, единственное, что может помочь, - это неприятный фактFontSize. Но размер шрифта в pica, я думаю, на самом деле это не то, что вы получаете на экране, не так ли?
Когда размер шрифта равен 10, мой текст на самом деле составляет 10 баллов в максимуме? Время от времени я пробовал именно это, и как только текст имел y или некоторый символ, который простирается ниже (например, этот хвост y), он выходит за границы, и весь текст больше 10 баллов.
Итак, как бы вы вычислили реальную высоту текста для единственной строки uilabel без получения длинной бороды и некоторого больничного опыта?
Это работает. Это не самая эффективная вещь на земле, но пока яблоко не зафиксирует свою ошибку (не задерживайте дыхание), она работает. – DougW