iPhone: изменить высоту UITableViewCell, поступающую из NIB - PullRequest
2 голосов
/ 30 апреля 2010

У меня есть UITableView пользовательских UITableViewCells, который выглядит следующим образом:

[ CELL 0
    [ description ]
    [ dynamic content type 1 ]
    [ dynamic content type 2 ]
    [ dynamic content type 3 ]
 ]
 [ CELL 1
    [ description ]
    [ dynamic content type 1 ]
    [ dynamic content type 3 ]
 ]
 [ CELL 2
    [ description ]
    [ dynamic content type 2 ]
 ]
 [ ... and so on ... ]

Поскольку часть [description] уже довольно сложна, я решил использовать Interface Builder для ее разработки и добавить [динамическое содержимое] в cellForRowAtIndexPath программным путем с помощью [cell addSubview:...]. Моя проблема сейчас в том, что я установил высоту по умолчанию для своего пользовательского UITableViewCell в Интерфейсном Разработчике, но когда я добавляю свой [динамический контент] (который может находиться в диапазоне от 0..3), у меня появляются разные ячейки с разной высотой.

Конечно, нужно рассчитать общую высоту и изменить возвращаемое значение в heightForRowAtIndexPath, но как мне изменить значение высоты моего фактического cell (которое было загружено из файла пера с фиксированной высотой)

Ответы [ 2 ]

3 голосов
/ 30 апреля 2010

Почему бы вам не обновить границы ячейки в cellForRowAtIndexPath (где вы уже добавили динамическое содержимое)?

0 голосов
/ 30 апреля 2010

Вы хотите вычислить и вернуть значение в:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Следует отметить, что это будет вызываться для каждой строки в вашем представлении при запуске, поэтому будьте осторожны с тем, что вы создаете для вычисленияразмер.

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

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