2012-04-30 64 views
5

我想要檢測用戶何時滾動UIScrollView。 scrollViewDidScroll在這種情況發生時被調用,但它在另一個時間被調用 - 當用戶滾動視圖超出界限,然後釋放時,視圖跳回到它的位置 - 即使用戶不'不要觸摸屏幕(視圖自己滾動)。UIscrollView DidScroll - 僅當觸摸時

如何檢測滾動和用戶觸摸?

回答

9

UIScrollView有一個屬性dragging,表示滾動是否由用戶完成。因此,要查看用戶是滾動滾動視圖還是滾動是由其他內容(如動畫)引起的,您可以執行以下操作:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    if (scrollView.dragging) { 
     // scrolling is caused by user 
    } 
} 
+1

謝謝!這正是我正在尋找的 –

+0

我在UICollectionView中使用它來檢查滾動是由用戶還是以編程方式完成。 –

+0

當用戶放開屏幕並且滾動視圖由於動量仍然滾動時,「dragging」屬性是否設置正確? –