-1.用手拖动但是一直不离开scroller:
scrollViewWillBeginDragging:
停止拖动后:
scrollViewWillEndDragging:withVelocity:targetContentOffset:
scrollViewDidEndDragging:willDecelerate:
如果decelerate返回YES那么接着触发:
scrollViewWillBeginDecelerating
scrollViewDidEndDecelerating
如果在decelerate的时候按住scrollView,使其停止滑动,那么会触发:
scrollViewWillEndDragging:withVelocity:targetContentOffset:
scrollViewDidEndDragging:willDecelerate:
总结:
grag之后自然停止回调 scrollViewDidEndDecelerating; 如果grag之后,正在decelerating ,使用grag使其停止,那么回调 scrollViewDidEndDragging:willDecelerate:并且decelerate返回NO;
-2.相关属性
@property(nonatomic,readonly,getter=isTracking) BOOL tracking; // returns YES if user has touched. may not yet have started dragging
@property(nonatomic,readonly,getter=isDragging) BOOL dragging; // returns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging
@property(nonatomic,readonly,getter=isDecelerating) BOOL decelerating; // returns YES if user isn't dragging (touch up) but scroll view is still moving
开始grag之前,进入tracking 模式; dragging 意味着进入grag状态; decelerating 意味着进入惯性滑动模式;