以下是该方案:
我有一个scrollView作为添加了UIPanGestureRecognizer的视图的子视图。平移手势仅适用于一个方向,让我们说从左到右。
我想要实现的是:如果scrollView.contentOffset.x == 0并且用户从左向右平移我希望PanGesture工作,否则我想让scrollView像往常一样工作。
我试过
hitTest:withEvent:
我可以检查contentOffset,但是没有关于手势方向的数据。touchesShouldBegin:withEvent:inContentView:
,但同样没有关于方向的数据。问题似乎是时刻,如果我想在视图处理手势事件后进行此类检查,则没有机会取消它并将事件重新发送到另一个视图。
有解决方法吗? 提前谢谢!
答案 0 :(得分:0)
为已添加到superview的UIPanGestureRecognizer设置委托并实施
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
if(scrollView.contentOffset.x != 0){
return NO;
}
return YES;
}