iOS вычисляет высоту текста в ячейке tableView

В настоящее время я занимаюсь разработкой приложения, которое отображает некоторые твиты в виде таблицы. На раскадровке я создал прототипную ячейку, которая включает в себя базовую концепцию графического интерфейса для записи твита.

Это выглядит примерно так:

++++++++++++++
++Username++++
++++++++++++++
++Tweet+++++++
++++++++++++++
++Time-Ago++++
++++++++++++++

Теперь я вычисляю высоту ячейки с помощью следующего кода, но почему-то это не получается.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSDictionary * currentTweet = [tweetArray objectAtIndex: indexPath.row];
    NSString * tweetTextString = [currentTweet objectForKey: @"text"];
    CGSize textSize = [tweetTextString sizeWithFont:[UIFont systemFontOfSize:15.0f] constrainedToSize:CGSizeMake(630, 1000) lineBreakMode: NSLineBreakByWordWrapping];

    float heightToAdd = 24 + textSize.height + 15 + 45;
    if(heightToAdd < 90) {
        heightToAdd = 90;
    }

    return heightToAdd;
}

Кстати, есть что-то другое, что странно. Если я прокручиваю таблицу, то кажется, что все приложение зависает. Это нормально или я что-то не так делаю?

Ответы на вопрос(2)

Ваш ответ на вопрос