iOS老中医

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

2017-12-26  本文已影响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;
}
上一篇 下一篇

猜你喜欢

热点阅读