Полагаю, вы не используете пользовательский UITableViewCell.Таким образом, вы, вероятно, устанавливаете заголовок где-то с помощью чего-то похожего на следующий код:
cell.textLabel.text = @"long long long text";
Чтобы получить текст в несколько строк, вы должны настроить заголовок UILabel по умолчанию для отображения текста в несколько строк.Вот так:
cell.textLabel.numberOfLines = 3;
Вы можете вычислить количество строк так же, как вычисляете высоту ячейки.На самом деле, я думаю, что вы должны вычислить оба, чтобы сделать то, что вы хотите (высота адаптирована к содержимому).
CGSize size = [title sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
Что важно в textSize
, так это установить ширину строки для атрибута width и heightзначение, которое является «достаточно большим» для «размещения» текста.
После инициализации size
вы можете разделить высоту на высоту строки UILabel.