UIRefreshControl on UICollectionView only works if the collection fills the height of the container

Try this: self.collectionView.alwaysBounceVertical = YES; Complete code for a UIRefreshControl UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; refreshControl.tintColor = [UIColor grayColor]; [refreshControl addTarget:self action:@selector(refershControlAction) forControlEvents:UIControlEventValueChanged]; [self.collectionView addSubview:refreshControl]; self.collectionView.alwaysBounceVertical = YES;

UICollectionView animations (insert/delete items)

If you use your own subclass of UICollectionViewLayout, you can implement the methods: initialLayoutAttributesForAppearingItemAtIndexPath: for insertions finalLayoutAttributesForDisappearingItemAtIndexPath: for deletions According to the documentation, the attributes you return are used as starting points for the animation, and the end point are the normal attributes returned by your layout (or the opposite for deletion). Layout attributes include … Read more

iOS 10 bug: UICollectionView received layout attributes for a cell with an index path that does not exist

This happened to me when number of cells in collectionView changed. Turns out I was missing invalidateLayout after calling reloadData. After adding it, I haven’t experienced any more crashes. Apple has made some modifications to collectionViews in iOS10. I guess that’s the reason why we are not experiencing same problem on older versions. Here’s my … Read more