UICollectionView: different size items is not calculated on reused items
ios, uicollectionview, uicollectionviewcell
Solution
It seems that `collectionView:layout:sizeForItemAtIndexPath:` is called once on layout preparation, before CollectionView is rendered.
So whenever you scroll and a cell is dequeued it is resized to the size provided by `collectionView:layout:sizeForItemAtIndexPath:` at preparation stage. Are you expecting this method to be called whenever a cell with certain indexPath gets visible? So that you can dynamically change cell size? seems this is not how this method can be used, it can be used to determine the size of a cell once at layout preparation stage.
In case you need the sizes to be recomputed for some reason, you can invalidate the layout using `[UICollectionViewLayout invalidateLayout]`.
Problem
I have a collection view with varied item sizes which i declare in ``` - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { FeedItem *item = [_imagesLinkArray objectAtIndex:indexPath.row]; return CGSizeMake(250, 200*item.sizeFactor); } ``` When the cell is being reused in `collectionView:cellForItemAtIndexPath:` the item is being rendered with the reuesed item size and not the one specified in `sizeForItemAtIndexPath:`. any ideas?