I would like to be able to predict the final resting offset within a UIScrollView after a flick gesture. It doesn\'t need to be pixel-accurate, but close enough so that the
You could watch the speed of scrolling while the UIScrollView is decelerating, and when the speed falls beneath a certain value, snap to the nearest menu item.
You will likely want to implement the UIScrollViewDelegate methods scrollViewDidEndDragging:willDecelerate: and scrollViewDidScroll:. When the user lifts their finger to finish a scroll gesture, scrollViewDidEndDragging:willDecelerate: will be called. Begin monitoring the scrollViewDidScroll: events, and watch the delta between the UIScrollView's current position and its previous position, divided by the time delta:
float velocity = (currentPosition - lastPosition) / (currentTime - lastTime);
When the velocity falls below a minimum value, call scrollRectToVisible:animated: on the UIScrollView.