Пользовательский UITableViewCell с высотой, определенной в UITableView - PullRequest
0 голосов
/ 19 марта 2010

У меня есть пользовательский UITableViewCell. В его функции - (id) initWithStyle: (UITableViewCellStyle) style reuseIdentifier: (NSString *) reuseIdentifier, мне нужно знать высоту ячейки, как определено в функции tableView heightForRowAtIndexPath, чтобы я мог правильно расположить UITextField, UIButton и т. Д. В ячейке. , Есть идеи?

1 Ответ

1 голос
/ 22 марта 2010

Обычно я делаю это, добавляя метод к своему подклассу NSObject, который будет действовать как мой объект источника данных (что входит в массив источника данных, если вы используете этот базовый подход).

например. Скажем, нам нужно отобразить кучу постов в блоге (чистый текст), каждый пост - это ячейка. Поскольку каждая строка будет иметь переменную высоту, я создаю подкласс NSObject, назовите его BlogPostInfo . В этом классе я добавляю метод:

- (int)cellHeight;
{
    /* Perform a calculation with blog data, probably using sizeWithFont: */
}

Поскольку у вас есть этот метод в вашем объекте данных, вы можете использовать его в UITableViewController следующим образом:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    /* assuming blogPosts is an NSMutableArray or whatevs */
    return [[blogPosts safeObjectAtIndex:indexPath.row] cellHeight];
}

Вот так я делаю динамические высоты ячеек таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...