UIScrollView进行滚动时的代理消息序列
手指触碰屏幕--->
- 序列开始
- tracking= YES;
如果手指静止不动--->
- 内容视图开始处理点击事件
- 序列结束---> OUT
如果手指开始移动--->
- scroll view尝试取消被正在被内容视图处理的点击事件(其实是UIWindow发出取消指令)
- dragging = YES;
- 代理不断收到
scrollViewWillBeginDragging:
消息
如果是滑动手势--->
- 手指离开屏幕
- tracking = NO;
- 代理收到
scrollViewDidEndDragging:willDecelerate:
消息,减速参数为YES - decelerating = YES;
如果是拖动手势--->
- 手指离开屏幕,停止拖动
- tracking = NO;
- 代理收到
scrollViewDidEndDragging:willDecelerate:
消息,减速参数为NO
如果Bounces属性为YES--->
- 代理收到
scrollViewDidEndDragging:willDecelerate:
消息,减速参数为YES
如果scrollViewDidEndDragging:willDecelerate:
的减速参数为YES--->
- 代理收到
scrollViewWillBeginDecelerating:
消息 - 代理不断收到
scrollViewWillBeginDragging:
消息 - tracking = NO;
- dragging = NO;
- decelerating = YES;
减速至静止--->
- 代理收到
scrollViewDidEndDecelerating:
消息 - decelerating = NO;
- 序列结束---> OUT