多个UICollectionView,数据数量显示错误问题

本文记录了一次使用UICollectionView时遇到的奇怪问题:在一个页面上同时显示三个UICollectionView,但其中两个显示的数据数量相同。通过排查发现是因为两个UICollectionView共用了相同的自定义cell及UICollectionViewFlowLayout导致的cell复用错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用UICollectionView,在一个页面上同时显示三个UICollectionView,但是在一切准备就绪运行时,发现三个UICollectionView中两个显示的数据数量是一样的(其实三个数据源数量都是不一样的)。

通过不断检查排除,再加上度娘。度娘上也几乎查不到相关错误。所以在最后解决后,在这记录一下。

UICollectionViewFlowLayout *flowLayout2=[[UICollectionViewFlowLayout alloc] init];
    flowLayout2.itemSize=CGSizeMake((Width-20)/3.0,(Width-20)*1.75/3.0);
    flowLayout2.scrollDirection=UICollectionViewScrollDirectionVertical;
    flowLayout2.headerReferenceSize=CGSizeMake(10, 10);
    flowLayout2.footerReferenceSize=CGSizeMake(10, 10);


    
    self.imageCollectView.collectionViewLayout=flowLayout2;

如上代码,我使用了UICollectionViewFlowLayout来给UICollectionView设定cell大小等。但其中两个UICollectionView由于采用了同一个自定义cell,所以我偷懒只创建了一个UICollectionViewFlowLayout给两个collectionView使用。

而就是这个造成了这两个UICollectionView的数据数量显示错误。应该是其cell复用时出了错。

最后的解决方案:哪怕是一模一样的样式,该创建两个UICollectionViewFlowLayout,就得创建两个,分别给两个UICollectionView使用。

转载于:https://my.oschina.net/lxzero/blog/644275

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值