【iOS问题集锦】-UICollectionView加载更多后cell偏移
问题描述
使用UICollectionView做列表显示,MJRefresh作为下拉刷新及上啦加载更多结构,cell支持多样式,页面数据加载完成,第一页完美显示,但是加载完成第二页数据刷新后发现,cell显示向下偏移,并且列表顶部出现空白,但是空白上的cell数据正常显示。如图(比比宝-唯品会返利)所见,第一个cell位置发生偏移,并且下方留有空白。
文章图片
比比宝-唯品会返利 问题分析
1.cell注册重复,即统一ID注册不同的cell模版。经数据打印调试,发现数据结构和模版注册都是正确的。pass
2.因为刷新头造成的偏移。经验证,把下拉刷新头部关闭,还是有同样的问题。pass
3.因为项目其它地方对UICollectionView进行扩展做了改变。经Demo项目测试,问题复现。pass
解决办法
经过各种百度无果,在我将要放弃的时候,有一篇帖子提到自动布局需要的设置:
UICollectionViewFlowLayout *layout = ...
layout.estimatedItemSize = CGSizeMake(0.01, 0.01);
没错,最阔祸首就是它,因为我的cell高度都是固定的,但是我还是设置了这个值。只需要把这行代码屏蔽掉就可以了。
//layout.estimatedItemSize = CGSizeMake(0.01, 0.01);
总结
【【iOS问题集锦】-UICollectionView加载更多后cell偏移】“众里寻她千百度,蓦然回首那人却在灯火阑珊处”。就是这样一个很小的问题,我用了一天的时间查阅各种资料文档,都没有解决办法。特此记录。
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长