iPhone - 阻止UISwipeGestureRecognizer触发UIPanGestureRecognizer

时间:2013-06-14 22:43:34

标签: iphone uigesturerecognizer uipangesturerecognizer uiswipegesturerecognizer

我发现很多关于管理gestureRecognizers的帖子,但是我找不到答案,或者说找不到任何正确的工作。

我在主ViewController中设置了一个UISwipeGestureRecognizer,并且x轴上的PanGestureRecognizer附加到覆盖视图,该视图将覆盖视图拉到右侧覆盖我的主视图。

滑动向下移动,Pan为从左到右。

我希望向下滑动可以处理所有视图,但是当用户向下滑动我的叠加层视图时,它还会触发隐藏视图的UIPanGestureRecognizer。 我认为这是因为当您滑动时X方向有轻微移动,因此Pan会被触发。

如果UIPanGestureRecognizer左侧或右侧是明确的Pan而不是滑动的尾端,我如何才能触发我的UIPanGestureRecognizer?

我已经尝试过shouldRecognizeSimultaneouslyWithGestureRecognizer,但它无法正常工作。目前他们都准备委派自己。

任何帮助都会非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

解决方案正在放置

[panGesture requireGestureRecognizerToFail:swipeGesture];

在我的viewController的viewDidLoad。

并实施

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

在我的ViewController.m中。

我把它放在我的叠加视图的viewDidLoad和.m中,并且它永远不会被调用。傻我。