作者briat2004 (林北)
看板MacDev
标题[问题] collectionView reloadData跑版问题
时间Fri May 22 19:32:13 2020
各位前辈好
今天小弟在写code的时候遇到一个问题
我的collectionView的section是用一个阵列来控制
里面的cell是用阵列里面的编号来控制哪一个该显示哪一个不该显示
每当切换的时候会呼叫reloadData
但是今天遇到一个问题
我明明有设定某一个cell但是那个cell不见了
还有某一个section的宽度变萤幕的宽
例如我的阵列
arr = [0, 1, 2, 3, 4, 5, 6]
这时候0123456的cell都会显示
切到arr = [1, 3, 4, 6]
collectionView.reloadData
可能这时候6不见了 然後3跑版了
请问有遇过类似问题的前辈该如何解吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.13.140.52 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1590147135.A.B86.html
※ 编辑: briat2004 (101.13.140.52 台湾), 05/22/2020 19:33:24
1F:推 ou9810: 直接用[1,3,4,6],先不要reloadData 175.98.152.120 05/25 09:16
2F:→ ou9810: 如果会发生,就是cell reuse没处理好 175.98.152.120 05/25 09:17
3F:→ ou9810: cell会消失我猜是被拿去reuse了 175.98.152.120 05/25 09:19
4F:推 aecho: 有客制化UICollectionViewLayout吗? 1.34.220.178 06/03 10:50
5F:→ aecho: 有的话,有时需要invalidateLayout() 1.34.220.178 06/03 10:51
6F:→ aecho: 重新计算cell的frame 1.34.220.178 06/03 10:52
7F:→ s001582000: 结果根本是另外一页啦 哈哈 什麽鬼描 110.26.0.232 07/28 17:01
8F:→ s001582000: 述 110.26.0.232 07/28 17:01