Add this line after reloading the collection.
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO];
Edit:
I just want to add one more thing: if the collectionView data source has ZERO elements or it is nil , then your application will not work on the code, and, possibly, it will crash.
Write down the condition for checking the availability of the data source or not!
if (self.dataArray.count > 0) { [self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; }
Where dataArray is your data source.
source share