У меня есть представление таблицы, где ячейки заполняются из xib-файлов. Существует два файла xib-файлов, отображающих разный контент в таблице.Изменение высоты столбца таблицы, основанной на множественной ячейке xib
Я хочу установить высоту строки для таблицы, основываясь на том, какая ячейка заполняется. Я использовал heightForRowAtIndexPath
, чтобы установить высоту строки в зависимости от ячейки xib. Ниже приведен код:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CommentBoxCell *commentBoxCell;
UserCommentCell *userCommentCell;
if ([commentsAndTagsArray count]) {
if (!commentBoxCell){
return commentBoxCell.bounds.size.height;
}
if (!userCommentCell){
return userCommentCell.bounds.size.height;
}
}
//default height of the cell
return 44;
}
Выполнение этого ничего не отображает в представлении таблицы, только пустые ячейки. Без heightForRowAtIndexPath ячейки заполняются с правильным контентом, но с высотой строки tableview по умолчанию.
Как установить row height
в tableview
, чьи cells
заселены из xib files
?
Как вы проверяете 'commentBoxCell' и' userCommentCell', если? Если посмотреть на свой код, он будет всегда ложным, поскольку он не инициализирован. – Iftikhar
Этот метод всегда возвращает 44, потому что 'commentBoxCell' и' userCommentCell' являются 'nil'. Вам нужно использовать '[tableView dequeuReuseableCellWithIdentifier: atIndexPath:]'. – kientux
Я использовал '[tableView dequeuReuseableCellWithIdentifier: atIndexPath:]' in 'cellForRowAtIndexPath' –