我想知道如何使用UIScrollViewDelegate
来检测滚动视图何时突然停止移动,因为用户在从快速摇摄开始动量后触摸并保持屏幕。检测UIScrollView中的突然滚动停止
scrollViewDidEndDecelerating:
方法仅在用户举起手指时触发上述情况。但是,如果用户在滚动视图动量期间轻击并保持,则此方法不会触发(直到他们抬起手指)。当滚动视图在用户触碰停下来时,有没有办法拦截?
我想知道如何使用UIScrollViewDelegate
来检测滚动视图何时突然停止移动,因为用户在从快速摇摄开始动量后触摸并保持屏幕。检测UIScrollView中的突然滚动停止
scrollViewDidEndDecelerating:
方法仅在用户举起手指时触发上述情况。但是,如果用户在滚动视图动量期间轻击并保持,则此方法不会触发(直到他们抬起手指)。当滚动视图在用户触碰停下来时,有没有办法拦截?
那么,你可以有一个标志,当用户开始滚动,其结束于scrollViewDidEndDecelerating
。这样,如果用户在标志清除之前再次开始滚动,您将知道他们在减速期间触摸了它。
您是否尝试过使用scrollViewWillBeginDragging
?或者(由于文档指示scrollViewWillBeginDragging
可能不会立即触发),您可以尝试使用scrollViewDidScroll
并检查用户是否正在触摸滚动视图...
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if(scrollView.isTracking){
//do something
}
}