`
zhy584520
  • 浏览: 180668 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

UITableView与UIPageViewController的UIPanGestureRecognizer手势冲突解决办法

    博客分类:
  • IOS
 
阅读更多

最近在项目中使用了UIPageViewController来翻页,在VIEW上又使用了UITableView,两者都有一个UIPanGestureRecognizer手势,在UITableView上托动的时候两者都接收到了这个UIPanGestureRecognizer手势,

这样的话,会导致手势混乱。解决思路:当触发一个UIPanGestureRecognizer手势的时候,另外一个不响应。这样就不冲突了。

直接上代码解决代码啦,记录一下UIPageViewController的旅程。

 

第一步:设置UIPageViewController的手势委托

    self.view.gestureRecognizers = self.pageViewCtrl.gestureRecognizers;
    for (UIGestureRecognizer* recognizer in self.pageViewCtrl.gestureRecognizers) {
        recognizer.delegate=self;
    }

 第二步:利用-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

来解决冲突。

#pragma mark resolve UITableView and UIPageViewController panGesture Conflict
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] &&
        [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
        return NO;
    }
    return NO;
}

 

分享到:
评论
1 楼 dcj3sjt126com 2014-10-16  
您好,我情况和您一样,然后我按照这个方式做了之后,没有效果,还是一样可以,请问您是如何做到的,可以留个联系方式吗,我的QQ是:1413161683

相关推荐

Global site tag (gtag.js) - Google Analytics