Я использую приведенный ниже код для вычисления высоты текста, а затем установить эту высоту для UILabel
и UITextView
Как рассчитать высоту основания TextView по тексту
CGSize targetSize = CGSizeMake(300, CGFLOAT_MAX);
NSString *message = @"The Internet connection appears to be offline.";
NSStringDrawingContext *context = [[NSStringDrawingContext alloc] init];
CGSize boundingBox = [message boundingRectWithSize:targetSize
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:FontOpenSanWithSize(14)}
context:context].size;
CGSize size = CGSizeMake(ceil(boundingBox.width), ceil(boundingBox.height));
// it will return size:width = 299 and size height 20
// => if I use this height and set for UILabel, it can display full content
// => if I use this height and set for UITextView, it can not display full content
Это работа идеально подходит для UILabel
но UITextView
когда-то вычислить неправильно.
Я думаю, проблема возникла из-за того, что заполнение (слева, справа) UITextView
больше, чем UILabel
.
Так как я могу рассчитать правильный размер текста для отображения в UITextView
. Любая помощь или предложение были бы очень оценены.
как описание изображения ниже
С того же размера (300), тем же шрифтом, текст же, но UITextView
дисплей в 2-х линий, но UILabel
в 1 линии. И мой код высоты высчитывает возврата 20, не достаточно для отображения в 2-х линий, поэтому UITextView
не может отображать полное содержание
Причина, почему мне нужно рассчитать высоту UITextView
базы по тексту, потому что мой UITextView
находится в всплывающем окне. И всплывающий высота будет зависеть от высоты TextView
вы можете связать постоянную высоту текста, а затем использовать ее для обновления высоты. Я думаю, –
Просто зайдите сюда http://stackoverflow.com/questions/31678779/how-to-dynamically-change-the-textview-height-and- cell-height-to-the-t –
Возможный дубликат [Как настроить UITextView для его содержимого?] (http://stackoverflow.com/questions/50467/how-do-i-size-a- uitextview-to-its-content) – Sandy