美文网首页
UIScrollView和返回手势冲突的解决方式

UIScrollView和返回手势冲突的解决方式

作者: Demonboy | 来源:发表于2018-07-31 17:33 被阅读14次
    if let nav = navigationController, let pan = nav.interactivePopGestureRecognizer {
                if !isLocalNavigationRootViewController { 
                    scrollView.panGestureRecognizer.require(toFail: pan)
                }
            }
    
    // 判断当前控制器是不是栈中的第一个控制器
        private var isLocalNavigationRootViewController:Bool {
            guard let nav = self.navigationController,let root = nav.viewControllers.first else {
                return false
            }
            
            var vc:UIViewController? = self
            while (vc != nil) {
                if vc == nav {
                    return false
                } else if vc == root {
                    return true
                }
                vc = vc?.parent
            }
            return false
        }
    

    相关文章

      网友评论

          本文标题:UIScrollView和返回手势冲突的解决方式

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