美文网首页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