iOS OC tableViewCell 里面嵌套 collectionView

Hi,你好代码。你见到这便文章,说明你可能遇见了,tableViewCell 里面潜逃collectionView ,tableVIewCell 高度需要适配问题。

那么,先看效果


效果图.gif

我面对的场景是,当前页面是个tableCell,cell 里面要在下一页面选择完内容后后,加载出collectionView。

操作步骤,
1, 在设置完collectionView 数据源后, 调用collectionView的 - (void)reloadData 方法

[self.myCollectionView reloadData];
// 为了解决,collectionView rload后,
// 不知道更新布局问题, 这个方法,在reload前后调用都可以,我在reload后调用
[self layoutIfNeeded];

}

2,然后在cell 里面要实现:

- (void)layoutSubviews {
    [super layoutSubviews];
    // 这里设置 cell的cotentView 的frame ,
    // 前提是先获取 collectionView 的视图的高度。
    CGFloat height = self.myCollectionView.collectionViewLayout.collectionViewContentSize.height;
    self.myCollectionView.frame = CGRectMake(self.myCollectionView.wt_x, self.myCollectionView.wt_y, self.myCollectionView.wt_width, collectionContentSizeHeight);
    // 默认cell 的高度 44
    CGFloat contentHeight = 44;
    if (collectionContentSizeHeight != 0) {
        // 算出,collectionView 底部 + 距离底部距离。
        contentHeight = self.myCollectionView.wt_bottom + 12;
    }
    self.contentView.frame = CGRectMake(0, 0, self.contentView.wt_width, contentHeight);
}

3,更新完cell 的contentView 的frame 后,你就可以在table的代理中更新,cell 的高度了。

如果你不会根据 cell 的内容更新tableCell的高度的话 ,就问问度娘吧。

如果你还有什么疑问,可以在文章下面留言,或者关注我的公众号(搜索:疯人社团)留言,期待你的加入。

你可能感兴趣的:(iOS OC tableViewCell 里面嵌套 collectionView)