我正在開發一個iOS應用程序,它使用UICollectionView來實現像普通日曆應用程序這樣的模塊。日期單元的背景顏色根據日期更改(這不重要)。該單元與dequeueReusableCellWithReuseIdentifier方法重用。但是,當日歷時間日曆非常緩慢。我搜索了這個問題,並整天在stackoverflow中搜索它,但找不到完美的答案。如何提高UICollectionView的性能?讓它滾動平滑
3
A
回答
1
3
許多事情會導致滾動性能下降。您可能需要縮小範圍併發布一些代碼。幾個常見錯誤:
- 將數據加載到單元格時重新創建所有子視圖。您應該爲每個單元格實例創建一個子視圖,並且只需清除其狀態
prepareForReuse
- 重新使用單元格時刪除並重新添加自動佈局約束。如果您需要修改基於數據的自動佈局約束,修改現有約束條件的常量值要比刪除並重新添加要快很多
0
通常它有助於確保所有細胞是不透明的。在單元圖層上將shouldRasterize設置爲YES(不要忘記設置rasterizationScale)。
我也注意到NSDate操作可能很慢。因此,如果你使用循環做某件事情並且每天增加nsdate,那麼你可能只需從i = 1循環就可以提高性能;我< = numberOfDaysInTheMonth。
相關問題
- 1. UITableView平滑滾動性能
- 2. UICollectionView滾動不平滑。爲什麼?
- 3. 平滑滾動在UICollectionView裏面UICollectionViewCell
- 4. 如何提高UIWebView滾動性能?
- 5. 當行高於視口時,如何讓DataGrid平滑滾動?
- 6. 測量平滑滾動性能
- 7. 如何讓它水平滾動?
- 8. UICollectionView水平滾動
- 9. UICollectionView水平滾動
- 10. 如何讓div滾動水平滑鼠上下滾動
- 11. UIScrollview不能平滑滾動
- 12. iCarousel不能平滑滾動
- 13. 如何滾動平滑滾動?
- 14. 如何添加平滑滾動Bootstrap的滾動間諜功能
- 15. 提高UIWebView滾動性能的方法?
- 16. 平滑滾動
- 17. 平滑滾動 -
- 18. 平滑滾動
- 19. 提高平滑滾動,以獲取URL您的地址欄
- 20. 在滾動視圖中提高性能
- 21. jQuery滾動X軸:提高性能?
- 22. 如何提高Mac上光柵滾動的性能?
- 23. 如何提高大列表中的jquerymobile滾動性能
- 24. JScrollPane - 平滑滾動
- 25. jQuery平滑滾動
- 26. jquery平滑滾動
- 27. 平滑滾動texview
- 28. UITableView平滑滾動
- 29. 平滑滾動到
- 30. js平滑滾動
它在實際設備上還是在模擬器上運行緩慢?其實對我來說,它在模擬器上出於某種原因很糟糕,但是滾動在設備上非常流暢。 'UICollectionView'旨在重用它的單元格,所以這本身就意味着良好的滾動性能。 – dariaa