UIScrollView進行滾動時的代理消息序列
手指觸碰屏幕--->
- 序列開始
- tracking= YES;
如果手指靜止不動--->
- 內(nèi)容視圖開始處理點擊事件
- 序列結束---> OUT
如果手指開始移動--->
- scroll view嘗試取消被正在被內(nèi)容視圖處理的點擊事件(其實是UIWindow發(fā)出取消指令)
- dragging = YES;
- 代理不斷收到
scrollViewWillBeginDragging:消息
如果是滑動手勢--->
- 手指離開屏幕
- tracking = NO;
- 代理收到
scrollViewDidEndDragging:willDecelerate:消息,減速參數(shù)為YES - decelerating = YES;
如果是拖動手勢--->
- 手指離開屏幕,停止拖動
- tracking = NO;
- 代理收到
scrollViewDidEndDragging:willDecelerate:消息,減速參數(shù)為NO
如果Bounces屬性為YES--->
- 代理收到
scrollViewDidEndDragging:willDecelerate:消息,減速參數(shù)為YES
如果scrollViewDidEndDragging:willDecelerate:的減速參數(shù)為YES--->
- 代理收到
scrollViewWillBeginDecelerating:消息 - 代理不斷收到
scrollViewWillBeginDragging:消息 - tracking = NO;
- dragging = NO;
- decelerating = YES;
減速至靜止--->
- 代理收到
scrollViewDidEndDecelerating:消息 - decelerating = NO;
- 序列結束---> OUT