检测UIScrollView中突然停止滚动

5
我想知道如何使用UIScrollViewDelegate来检测当用户在快速滑动后用手指按住屏幕突然停止移动时。 scrollViewDidEndDecelerating:方法只有在用户抬起手指的情况下才会触发上述情况。但是,如果用户在滚动视图的动量期间轻拍并按住,则此方法不会触发(直到他们抬起手指)。 是否有办法在滚动视图在用户按下时突然停止时拦截这种情况?
3个回答

4
您尝试过使用scrollViewWillBeginDragging吗?或者,您可以尝试使用scrollViewDidScroll并检查用户当前是否在触摸滚动视图(由于文档表明scrollViewWillBeginDragging可能不会立即触发)。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if(scrollView.isTracking){
        //do something
    }
}

2

那么,你可以设置一个标志,在用户开始滚动时被提高,并在scrollViewDidEndDecelerating中结束。这样,如果用户在标志被清除之前再次开始滚动,你就会知道他们在减速期间触摸了它。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接