[問題] collectionView reloadData跑版問題

看板MacDev作者 (林北)時間3年前 (2020/05/22 19:32), 3年前編輯推噓2(206)
留言8則, 3人參與, 3年前最新討論串1/1
各位前輩好 今天小弟在寫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

05/25 09:16, 3年前 , 1F
直接用[1,3,4,6],先不要reloadData
05/25 09:16, 1F

05/25 09:17, 3年前 , 2F
如果會發生,就是cell reuse沒處理好
05/25 09:17, 2F

05/25 09:19, 3年前 , 3F
cell會消失我猜是被拿去reuse了
05/25 09:19, 3F

06/03 10:50, 3年前 , 4F
有客製化UICollectionViewLayout嗎?
06/03 10:50, 4F

06/03 10:51, 3年前 , 5F
有的話,有時需要invalidateLayout()
06/03 10:51, 5F

06/03 10:52, 3年前 , 6F
重新計算cell的frame
06/03 10:52, 6F

07/28 17:01, 3年前 , 7F
結果根本是另外一頁啦 哈哈 什麼鬼描
07/28 17:01, 7F

07/28 17:01, 3年前 , 8F
07/28 17:01, 8F
文章代碼(AID): #1UnxW_k6 (MacDev)
文章代碼(AID): #1UnxW_k6 (MacDev)