我正在尝试禁用gestureRecognizerShouldBegin
向下滑动
这是我的代码:
-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
CGPoint translation = [gestureRecognizer translationInView:self.scrollView];
// Check for horizontal and up gesture
if (fabsf(translation.y) > fabsf(translation.x) && fabsf(translation.y) > 0) {
return YES;
}
return NO;
}
水平线已正确锁定,但不能向下滑动。你知道我应该怎么写这个条件吗?
最佳答案
正如大家在评论中建议的那样-,这里的解决方案:
-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
CGPoint translation = [gestureRecognizer translationInView:self.scrollView];
// Check for horizontal and Up gesture
if (fabsf(translation.y) > fabsf(translation.x) && translation.y < 0 )
{
return YES;
}
return NO;
}
然后我想到了UX方面可能更好的东西:
我直接在
PanGestureRecognizer
中添加了:if (translation.y > 0) {
panedView.center = CGPointMake(YOUR_CENTER.x, YOU_CENTER.y + translation.y /10);
}
它创建的翻译非常小,使整个动画对用户来说更加流畅。
谢谢!