UIScrollView速度0,同时减速

时间:2016-05-18 19:42:27

标签: ios objective-c uiscrollview

我需要检测用户滚动方向以防止错误滑动。我使用以下代码

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{

        CGPoint velocity = [(UIPanGestureRecognizer *)gestureRecognizer velocityInView:self];


            if (fabs(velocity.y) * 2 < fabs(velocity.x))
            {
                //scroll LEFT or RIGHT 
                return NO;
            }
            else
            {
                //scroll UP or DOWN 
            }


         return YES;
}

大多数情况下都有效,除非用户在滚动视图减速时滚动,否则速度因子为空,我无法计算滚动方向。

编辑1

类似的问题:link

1 个答案:

答案 0 :(得分:1)

我认为最简单的解决方案是直接在UIScrollViewDelegate上检测滚动方向。看看this answer