UIScrollViewDelegate has got two delegate methods scrollViewDidScroll:
and scrollViewDidEndScrollingAnimation:
but neither of these tell you when scrolling has completed. scrollViewDidScroll
only notifies you that the scroll view did scroll not that it has finished scrolling.
The other method scrollViewDidEndScrollingAnimation
only seems to fire if you programmatically move the scroll view not if the user scrolls.
Does anyone know of scheme to detect when a scroll view has completed scrolling?
The 320 implementations are so much better - here is a patch to get consistent start/ends of the scroll.
-(void)scrollViewDidScroll:(UIScrollView *)sender
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
//ensure that the end of scroll is fired.
[self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:sender afterDelay:0.3];
...
}
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
...
}