UICollectionView animate items after reloadItemsAtIndexPaths is called (fade animation).
Is there a way to avoid this animation?
iOS 6
UICollectionView animate items after reloadItemsAtIndexPaths is called (fade animation).
Is there a way to avoid this animation?
iOS 6
I wrote a category on UICollectionView to do just that. The trick is to disable all animations while reloading:
You could also try this:
...
Edit:
I have also found that if you wrap
performBatchUpdates
in a UIView animation block, the UIView animation is used instead of the default animation, so you can just set the animation duration to 0, like so:This is extra cool if you want to use iOS 7 springy animations during inserts and deletes!
I assume you're using a FlowLayout. Since you're trying to get rid of the fade animation, try this:
This is a very old question, so you're probably not targeting iOS 6 anymore. I was personally working on tvOS 11 and had the same question, so this is here for anyone who comes along with the same problem.
Just to add my $0.02, I tried both versions of the selected answer, and the original way worked better for my purposes. I am working on an infinite scrolling calendar view that allows for a user to enter the calendar at a given week and then swipe back and forth and select individual days for filtering a list.
In my implementation, in order to keep things performant on older devices the array of dates that represent the calendar view has to be kept relatively small which means holding about 5 weeks worth of dates, with the user in the middle at the 3rd week. The issue with using the second approach is, there's a second step where you have to scroll the collection view back to the middle without an animation, which makes for a very jagged appearance for some reason with the blocked base animation.
My Code:
Here is a Swift 3 version to
performBatchUpdates
without animation to aUICollectionView
. I found this to work better for me thancollectionView.reloadData()
because it reduced cell swapping when records were inserted.