How to know when a UIScrollView (includes UITableView, UICollectionView) finished scrolling

UIScrollViewDelegate has the method: -[UIScrollViewDelegate scrollViewDidEndDragging:willDecelerate:], and the decelerate parameter is NO when the scroll view has finished scrolling.

So you could use it like this:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    if (!decelerate){
        NSLog(@"The scroll view isn't scrolling anymore.");
        // perform some animation
    }
}

Follow me on Twitter to keep up with what I’ve learned building my personal finance tool, Stash.

Read more posts …
Written: October 19th, 2013
Categories: uiscrollview, uicollectionview, uikit, uitableview, ios