我需要检测用户滚动方向以防止错误滑动。我使用以下代码
- (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