在tableview单元格中使用collectionview

时间:2017-01-11 02:56:13

标签: ios objective-c uitableview uicollectionview

我在UITableViewCell中使用collectionview,我需要更改collectionview的高度以显示所有内容。因此,我监视collectionview的内容大小,更新该高度并重新加载单元格。

- (void)setData:(Attachment *)attachment andReload:(void (^)(void))reloadAction {
    self.reloadBlock = reloadAction;
    [super setData:attachment];
    [self setUpTag];
}

这是我在单元格中设置数据的地方

DocumentDetailCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (!cell)
    cell = [DocumentDetailCell loadFromNib];

[cell setW:CGRectGetWidth(self.view.frame)];
DocumentsCollection *dc = self.documents[indexPath.section - 1];
[cell setTag:indexPath.row];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
[cell setData:dc.attachments[indexPath.row] andReload:^{

    [tableView reloadData];
}];
[cell hideOrUnhideSeparator:(indexPath.row ==  dc.attachments.count - 1)];
return cell;

这就是我创建单元格的方式。

{{1}}

问题是我重新加载后,集合视图的内容大小再次发生变化!结果,它变成了一个循环,它永远不会结束。我尝试过reloadRow和beginUpdate / EndUpdate。这也不太好。我该怎么办?

0 个答案:

没有答案