美文网首页ios实用开发技巧
iOS OC tableViewCell 里面嵌套 collec

iOS OC tableViewCell 里面嵌套 collec

作者: 自律_自强_通达 | 来源:发表于2019-05-25 00:30 被阅读83次

    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 里面嵌套 collec

        本文链接:https://www.haomeiwen.com/subject/lzpozqtx.html