вот метод для подсчета высоты текста
+(CGFloat)sizeHeightForText:(NSString *)text withFont:(UIFont *)font withWidth:(float)width
{
CGSize constraint = CGSizeMake(width, 20000.0f);
CGSize size = [text sizeWithFont:font
constrainedToSize:constraint
lineBreakMode:NSLineBreakByWordWrapping];
return floorf(size.height)+1;
}
в конце floorf нужно для того чтобы не было blending при отрисовке.
использовать так
float newTextHeight = MIN(maxTextHeight, [YAYHelper sizeForText:name.text withFont:name.font withWidth:name.frame.size.width]);
maxTextHeight - на всякий случай чтобы не было слишком больших ячеек.
sizeForText: - текст для которого считаем
withFont: - шрифт который будем использовать
withWidth: - ширина лейбла