UIscrollView DidScroll - 仅当触摸时

问题描述:

我想要检测用户何时滚动UIScrollView。 scrollViewDidScroll在这种情况发生时被调用,但它在另一个时间被调用 - 当用户滚动视图超出界限,然后释放时,视图跳回到它的位置 - 即使用户不'不要触摸屏幕(视图自己滚动)。UIscrollView DidScroll - 仅当触摸时

如何检测滚动和用户触摸?

UIScrollView有一个属性dragging,表示滚动是否由用户完成。因此,要查看用户是滚动滚动视图还是滚动是由其他内容(如动画)引起的,您可以执行以下操作:

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

谢谢!这正是我正在寻找的 –

+0

我在UICollectionView中使用它来检查滚动是由用户还是以编程方式完成。 –

+0

当用户放开屏幕并且滚动视图由于动量仍然滚动时,“dragging”属性是否设置正确? –