我想知道如何使用UIScrollViewDelegate
來檢測滾動視圖何時突然停止移動,因爲用戶在從快速搖攝開始動量後觸摸並保持屏幕。檢測UIScrollView中的突然滾動停止
scrollViewDidEndDecelerating:
方法僅在用戶舉起手指時觸發上述情況。但是,如果用戶在滾動視圖動量期間輕擊並保持,則此方法不會觸發(直到他們擡起手指)。當滾動視圖在用戶觸碰停下來時,有沒有辦法攔截?
我想知道如何使用UIScrollViewDelegate
來檢測滾動視圖何時突然停止移動,因爲用戶在從快速搖攝開始動量後觸摸並保持屏幕。檢測UIScrollView中的突然滾動停止
scrollViewDidEndDecelerating:
方法僅在用戶舉起手指時觸發上述情況。但是,如果用戶在滾動視圖動量期間輕擊並保持,則此方法不會觸發(直到他們擡起手指)。當滾動視圖在用戶觸碰停下來時,有沒有辦法攔截?
那麼,你可以有一個標誌,當用戶開始滾動,其結束於scrollViewDidEndDecelerating
。這樣,如果用戶在標誌清除之前再次開始滾動,您將知道他們在減速期間觸摸了它。
您是否嘗試過使用scrollViewWillBeginDragging
?或者(由於文檔指示scrollViewWillBeginDragging
可能不會立即觸發),您可以嘗試使用scrollViewDidScroll
並檢查用戶是否正在觸摸滾動視圖...
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if(scrollView.isTracking){
//do something
}
}