UICollectionView嵌套TableView,contentOffset发生了变化

UICollectionViewCell里面放入TableView时,collectionview会复用之前的CollectionCell, 除非你不用collectionView的重用机制,否则cell的contentoffset会发生变化,不会从重开始。

解决方案:

1、重写UICollectionView的prepareForReuse方法;

- (void)prepareForReuse {

    [super prepareForReuse];

    //在此方法中执行重用前的操作

    //如给contentView中的tableView赋值后的刷新操作

    [self.ltableView reloadData];

    [self.ltableView setContentOffset:CGPointMake(0, 0)];

}


2.在初始化tableview时;加上以上几个设置条件:

        if(@available(iOS11.0, *)) {

            _ltableView.estimatedRowHeight = 0;

            _ltableView.estimatedSectionHeaderHeight = 0;

            _ltableView.estimatedSectionFooterHeight = 0;

        }

上面两个条件缺一不可,如果还有UIcollectionview问题请加我q : 875880047

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容