Если у вас нет удобной UITextView
(например, вы измеряете ячейки табличного представления), вам придется рассчитать размер, измерив строку, а затем учитывать 8 пунктов заполнения для каждого сторона UITextView
. Например, если вы знаете желаемую ширину вашего текстового представления и хотите определить соответствующую высоту:
NSString * string = ...;
CGFloat textViewWidth = ...;
UIFont * font = ...;
CGSize size = CGSizeMake(textViewWidth - 8 - 8, 100000);
size.height = [string sizeWithFont:font constrainedToSize:size].height + 8 + 8;
Здесь каждый 8 соответствует одному из четырех дополнительных ребер, а 100000 служит очень большим максимальным размером.
На практике вы можете добавить дополнительные font.leading
к высоте; это добавляет пустую строку ниже вашего текста, которая может выглядеть лучше, если прямо под текстовым представлением есть визуально тяжелые элементы управления.