                 animationRatio = (location.x - self.panLocationStart) / CGRectGetWidth(bounds)
             }
             
-            if animationRatio < 0 {
-                animationRatio = 0
-            }
-            
             if let _contentScrollView = self.contentScrollView {
                 if self.isTransitioning == false && _contentScrollView.contentOffset.y <= 0 {
                     self.startGestureTransition()

    }
    
    public override func cancelInteractiveTransition() {
        if let transitionContext = self.transitionContext {
            let containerView = transitionContext.containerView()
            self.animateWithDuration(

extension ARNTransitionAnimator: UIViewControllerInteractiveTransitioning {
    
    public override func startInteractiveTransition(transitionContext: UIViewControllerContextTransitioning) {
        let containerView = transitionContext.containerView()
        
        // FIXME : UINavigationController not called animator UIViewControllerTransitioningDelegate
        switch (self.interactiveType) {
        case .Push, .Present:
            self.isPresenting = true
        case .Pop, .Dismiss:
            self.isPresenting = false
        case .None:
            break
        }
        
        self.transitionContext = transitionContext
        self.fireBeforeHandler(containerView, transitionContext: transitionContext)
