 
     func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailByGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
         return gestureRecognizer is UIScreenEdgePanGestureRecognizer
+    }
+
+    func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
+        return !animating
     }
 }
 

        case .Cancelled, .Ended:
            guard let view = recognizer.view else { return }
            let progress = recognizer.translationInView(view).x / view.bounds.width
            if progress > 0.33 {
                finishInteractiveTransition()
            } else {
                cancelInteractiveTransition()

                return
        }

        animating = true
        let duration = ZoomTransitioning.transitionDuration * interactiveProgress
        UIView.animateWithDuration(
            duration,
