Я не пытался делать именно то, что вы пытаетесь сделать, но, вероятно, это будет выглядеть примерно так:
Вам необходимо изменить размер представления в зависимости от длины текстовой строки внутри него.
Делегат табличного представления (ваш контроллер представления) должен реализовать
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
Message *msg = (Message *)[messages objectAtIndex:indexPath.row];
CGSize size = [[msg text] sizeWithFont:[UIFont fontWithName:@"Helvetica" size:kLabelFontSize]
constrainedToSize:CGSizeMake(220.0f, 480.0f)
lineBreakMode:UILineBreakModeTailTruncation];
CGFloat minHeight = 20.0f;
CGFloat height = size.height > minHeight ? size.height : minHeight;
return height;
}
, который сообщает представлению, насколько высоким должен быть каждый ряд.
Вам также понадобится изменить размер фрейма метки UITableViewCell аналогичным образом.