         }
         let translation = gestureRecognizer.location(in: gestureRecognizer.view)
         if translation.x <= 0{
+            return false
+        }
+        let maximumAllowedDistance = topViewController?.maximumInteractiveDistanceToLeft
+        if  translation.x > maximumAllowedDistance! {
             return false
         }
         return true

        static let interactivePopDisable = UnsafeRawPointer.init(bitPattern: "interactivePopDisable".hash)
        static let navgationBarHidden = UnsafeRawPointer.init(bitPattern: "navgationBarHidden".hash)
        static let willAppearInjectBlock = UnsafeRawPointer.init(bitPattern: "willAppearInjectBlock".hash)
    }
    // 取消侧滑 default is false, true为不支持侧滑返回
    public var isInteractivePopDisable: Bool

        set {
            objc_setAssociatedObject(self, AssociatedKey.navgationBarHidden, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC)
        }
    }
    // The gestureRecognizer respond distance ,default 50
    public var maximumInteractiveDistanceToLeft: CGFloat
    {
        get
        {
            let maximumAllowedDistance = objc_getAssociatedObject(self, AssociatedKey.maximumAllowedDistance) as? CGFloat
            return maximumAllowedDistance ?? CGFloat(50)
        }
        set
        {
            objc_setAssociatedObject(self, AssociatedKey.maximumAllowedDistance, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC)
        }
        
    }
    
}
