看板 MacDev 關於我們 聯絡資訊
各位前輩好 今天小弟在寫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