UIScrollView進行滾動時的代理消息序列

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
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容