2

我創建了一個自定義UICollectionViewLayout,它創建了一個二維網格。滾動水平螞蟻垂直工作正常。如果您在不同的OS上進行測試,則會出現問題。自定義UICollectionViewLayout多次調用layoutAttributesForElementsInRect

如果您到達整個UICollectionViewbounces的右邊界或下邊界,iOS7上沒有任何反應。但是,如果每次將UICollectionView拖動到bounds的大小上時,它會到達iOS6,方法layoutAttributesForElementsInRect將被調用多次。這會導致大量的lag,因爲在layoutAttributesForElementsInRect里布局會枚舉所有視圖以獲取應該顯示的視圖。

是否有人知道什麼是對iOS6

回答

0

緩存prepareLayout佈局屬性導致此問題。循環瀏覽它們並查看layoutAttributesForElementsInRect中的相交點。在layoutAttributesForElementsInRect中創建斷點並確保其UIKit代碼觸發該調用。如果它是您自己的代碼觸發此調用,請參閱是否可以避免超過必要的觸發。在我的情況下,這種方法通常僅由UIKit使用來確定如何佈局屏幕上的單元格。

相關問題