2
我有一個分頁的UICollectionView,每頁一個單元格。但是,我的UICollectionViewCells渲染緩慢(第三方庫,沒有選項)。所以作爲一個優化,我需要預先渲染單元格到當前頁面的左側和右側,所以滾動是平滑的。試圖使用屏幕上的UICollectionViewCells預渲染使用自定義佈局
我所做的事情是,我的自定義UICollectionViewLayout內,由1點檢查,看看哪些細胞的UICollectionViewLayoutAttributes應返回前開始傳遞RECT,在這裏看到:
- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
CGRect outsetRect = CGRectInset(rect, -1, 0);
return [_myAttributes filter:^BOOL(UICollectionViewLayoutAttributes *attribs) {
return CGRectIntersectsRect(attribs.frame, outsetRect);
}];
}
可正常工作。但是,當實際的UICollectionView執行它的操作時,它看起來會忽略屏幕外單元,並且僅針對第一個單元,而不是右側(或左側)的單元調用cellForItemAtIndexPath
。
任何想法是怎麼回事?由於
選項我正在考慮是:細胞是屏幕外,返回其COORDS,儘管它們是在屏幕上,與把他們的主要「可見的」細胞背後的z-index。 – Chris