SelfSizingWaterfallCollectionViewLayout
SelfSizingWaterfallCollectionViewLayout copied to clipboard
Finer-grained invalidation for specific indexPaths.
I'm using AWPagedArray
in conjunction with SelfSizingWaterfallCollectionViewLayout
. Whenever a network request comes back with a page of data, I want to invalidate only those cells. Reason being, if I just invalidate the whole layout, I experience noticeable lag, disrupting the smooth scrolling experience I was aiming to achieve.
- (UICollectionViewLayoutInvalidationContext *)invalidationContextForPreferredLayoutAttributes:(UICollectionViewLayoutAttributes *)preferredAttributes withOriginalAttributes:(UICollectionViewLayoutAttributes *)originalAttributes
{
UICollectionViewLayoutInvalidationContext *context = [super invalidationContextForPreferredLayoutAttributes:preferredAttributes withOriginalAttributes:originalAttributes];
[context invalidateEverything];
return context;
}
I have since realised that:
- (UICollectionViewLayoutInvalidationContext *)invalidationContextForPreferredLayoutAttributes:(UICollectionViewLayoutAttributes *)preferredAttributes withOriginalAttributes:(UICollectionViewLayoutAttributes *)originalAttributes
{
UICollectionViewLayoutInvalidationContext *context = [super invalidationContextForPreferredLayoutAttributes:preferredAttributes withOriginalAttributes:originalAttributes];
[context invalidateEverything];
return context;
}
Does absolutely nothing.
Feel free to create a pull request with your fix. I don't have the time right now. Thanks.