我有一個UICollectionView
我已經實現了一個自定義子類UICollectionViewFlowLayout
並實現layoutAttributesForElementsInRect
方法。我的視圖是可滾動的,我已經實現了shouldInvalidateLayoutForBoundsChange
方法返回YES。所以每次我滾動,layoutAttributesForElementsInRect
被調用。rect來自layoutAttributesForElementsInRect的哪裏?
但是當我在上半部分的視圖中滾動時,它被調用的矩形是整個集合的矩形(例如{{0, 0}, {320, 1136}} {{0, 567}, {320, 548}}
),當我滾動過去一半時矩形變成只有下半部分(即{{0, 568}, {320, 568}} {{0, 568}, {320, 548}}
)。這完全打破了我的佈局。我需要layoutAttributesForElementsInRect始終用整個視圖的rect調用。
爲什麼它會使用其他矩形,我如何關閉矩形變換行爲?