作者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://www.ptt.cc/bbs/MacDev/M.1590147135.A.B86.html
※ 編輯: briat2004 (101.13.140.52 臺灣), 05/22/2020 19:33:24
推 ou9810: 直接用[1,3,4,6],先不要reloadData 175.98.152.120 05/25 09:16
→ ou9810: 如果會發生,就是cell reuse沒處理好 175.98.152.120 05/25 09:17
→ ou9810: cell會消失我猜是被拿去reuse了 175.98.152.120 05/25 09:19
推 aecho: 有客製化UICollectionViewLayout嗎? 1.34.220.178 06/03 10:50
→ aecho: 有的話,有時需要invalidateLayout() 1.34.220.178 06/03 10:51
→ aecho: 重新計算cell的frame 1.34.220.178 06/03 10:52
→ s001582000: 結果根本是另外一頁啦 哈哈 什麼鬼描 110.26.0.232 07/28 17:01
→ s001582000: 述 110.26.0.232 07/28 17:01