美文网首页iOS老中医
scrollview左滑手势与pop手势冲突问题

scrollview左滑手势与pop手势冲突问题

作者: 杂货铺学徒 | 来源:发表于2017-12-26 14:38 被阅读16次

    在一个页面中如果有scrollview,并且有左右滑的手势,在push进子viewController时两个手势会冲突导致左滑pop手势失效。
    解决方法:新建一个scrollview(这个scrollview可能是你自定义的)的分类,并重写下面方法

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
    {
        // 首先判断otherGestureRecognizer是不是系统pop手势
        if ([otherGestureRecognizer.view isKindOfClass:NSClassFromString(@"UILayoutContainerView")]) {
            // 再判断系统手势的state是began还是fail,同时判断scrollView的位置是不是正好在最左边
            if (otherGestureRecognizer.state == UIGestureRecognizerStateBegan && self.contentOffset.x == 0) {
                return YES;
            }
        }
        
        return NO;
    }
    

    相关文章

      网友评论

        本文标题:scrollview左滑手势与pop手势冲突问题

        本文链接:https://www.haomeiwen.com/subject/cfxjgxtx.html