2013-04-03 138 views
0

我正在查看處理項目的集合視圖。我的滾動速度很慢,出於某種原因,我認爲這是因爲我在我的cellForitemAtindex委託方法中進行了大量處理。我應該讓UICollectionView同時創建單元格,而不是滾動它?或者我應該可以緩存單元格中的某些數組,然後從用戶滾動時從那裏加載?這些是我能想到的唯一2,還有什麼我可以做的嗎?感謝您的幫助。UICollectionView慢速滾動 - 創建單元格

+0

查看文檔並查看是否存在UITableView中的dequeueReusableCell機制。 – Cocoadelica

回答

1

內部在指數路徑項的細胞,你需要獲得一個細胞這樣

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath]; 

,而不是從頭開始做吧。如果您使用的自定義子類的單元格通過調用registerClass註冊集合視圖:forCellWithReuseIdentifier:\

您不負責分配,初始化或緩存可重用單元格,收集視圖爲您做。

+0

這是如何處理出隊UICollectionViewCell對象的。我有一個擁有100個單元的項目,所有這些單元都有複雜的視圖,並且系統在緩存和順利顯示一切方面做得很好。您的UICollectionViewCell中的某個視圖很可能在計算上花費了大量代價(例如顯示1000px x 1000px圖像)。在模擬器中打開Color Blended Layers,然後先看那裏。然後檢查你的所有代碼。這將是你在單元格內做的事情。 – JasonD