Если вы не хотите использовать UITextView, который можно прокручивать, чтобы вместить любой нужный вам текст, вы можете проверить некоторые методы для вычисления размера UILabel, например, на лету.
Это должно привести вас в правильном направлении: NSString имеет несколько методов категории UIKit
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size;
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode;
Вы вызываете эти методы для NSString, передавая любой используемый шрифт, а также максимальный размер.Обычно я ограничиваю ширину, но задаю очень большую высоту, чтобы она могла дать мне знать, какая высота самая лучшая.Эти методы вернут CGSize, который вы затем сможете использовать для установки фреймов UILabels.Например, если я знаю, что максимальная ширина, в которую я могу поместить метку, составляет 300 точек, я передам CGSizeMake (300, 2000) для ограниченного размера.