Ios 将UIScrollView视为启用UIPaneStrue的视图的子视图的问题

Ios 将UIScrollView视为启用UIPaneStrue的视图的子视图的问题,ios,objective-c,cocoa-touch,uiscrollview,uipangesturerecognizer,Ios,Objective C,Cocoa Touch,Uiscrollview,Uipangesturerecognizer,以下是场景: 我有一个scrollView作为添加了UIPangestureRecognitor的视图的子视图。平移手势只适用于一个方向,比如说从左到右 我试图实现的是:如果scrollView.contentOffset.x==0,并且用户正在从左向右平移,我希望PanGesture正常工作,否则我希望scrollView正常工作 我试过了 在scrollView的superview上实现hitTest:withEvent:,在那里我可以检查contentOffset,但没有关于手势方向的数

以下是场景:

我有一个scrollView作为添加了UIPangestureRecognitor的视图的子视图。平移手势只适用于一个方向,比如说从左到右

我试图实现的是:如果scrollView.contentOffset.x==0,并且用户正在从左向右平移,我希望PanGesture正常工作,否则我希望scrollView正常工作

我试过了

  • 在scrollView的superview上实现
    hitTest:withEvent:
    ,在那里我可以检查contentOffset,但没有关于手势方向的数据
  • 在scrollView:中实现
    触摸应开始:with event:inContentView:
    ,但同样,没有关于方向的数据
问题似乎是在某个时刻,如果我想在某个视图处理手势事件后进行此类检查,则没有机会取消它并将该事件重新发送到另一个视图

有解决办法吗?
提前谢谢

为已添加到superview中的UIPangestureRecognitor设置一个委托并实现

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { 
    if(scrollView.contentOffset.x != 0){
        return NO;
    }

    return YES;
}

谢谢您的回答,但我相信这是一个解决方案,当Pangestrue使scrollView的交互无效时。。。我的情况正好相反。