2012-07-01 92 views
2

我想知道如何使用UIScrollViewDelegate來檢測滾動視圖何時突然停止移動,因爲用戶在從快速搖攝開始動量後觸摸並保持屏幕。檢測UIScrollView中的突然滾動停止

scrollViewDidEndDecelerating:方法僅在用戶舉起手指時觸發上述情況。但是,如果用戶在滾動視圖動量期間輕擊並保持,則此方法不會觸發(直到他們擡起手指)。當滾動視圖在用戶觸碰停下來時,有沒有辦法攔截?

回答

1

那麼,你可以有一個標誌,當用戶開始滾動,其結束於scrollViewDidEndDecelerating。這樣,如果用戶在標誌清除之前再次開始滾動,您將知道他們在減速期間觸摸了它。

4

您是否嘗試過使用scrollViewWillBeginDragging?或者(由於文檔指示scrollViewWillBeginDragging可能不會立即觸發),您可以嘗試使用scrollViewDidScroll並檢查用戶是否正在觸摸滾動視圖...

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if(scrollView.isTracking){ 
     //do something 
    } 
}