title: animateTransition not called on push
body: <p>I have just notated that :</p>
  
  <pre><code>func animateTransition(transitionContext: UIViewControllerContextTransitioning)
  </code></pre>
  
  <p>Is not called id I push my <code>UIViewController</code> :</p>
  
  <pre><code>navigationController?.pushViewController(nextVC, animated: true)
  </code></pre>
  
  <p>Otherwise if I present my <code>UIViewController</code>:</p>
  
  <pre><code>navigationController?.presentViewController(nextVC, animated: true, completion: nil)
  </code></pre>
  
  <p>My animation works because animateTransition is called</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>it is used like that:</p>
  
  <pre><code>let transitionManager = TransitionManager()
  nextVC.transitioningDelegate = transitionManager
  navigationController?.pushViewController(nextVC, animated: true)
  </code></pre>
  
  <p>The full animation class is that:</p>
  
  <pre><code>class TransitionManager: NSObject, UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate {
      private var presenting = true
  
      func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
  
          let container = transitionContext.containerView()
          let fromView = transitionContext.viewForKey(UITransitionContextFromViewKey)!
          let toView = transitionContext.viewForKey(UITransitionContextToViewKey)!
  
  
          let offScreenRight = CGAffineTransformMakeTranslation(container!.frame.width, 0)
          let offScreenLeft = CGAffineTransformMakeTranslation(-container!.frame.width, 0)
  
          toView.transform = offScreenRight
  
          container!.addSubview(toView)
          container!.addSubview(fromView)
  
  
          let duration = self.transitionDuration(transitionContext)
  
  
          UIView.animateWithDuration(duration, delay: 0, usingSpringWithDamping: 0.5, initialSpringVelocity: 0.8, options: [], animations: {
              fromView.transform = offScreenLeft
              toView.transform = CGAffineTransformIdentity
  
              }) { (finished) in
                  transitionContext.completeTransition(true)
           }
  
  
      }
  
      func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -&gt; NSTimeInterval {
          return 2
      }
  
      // MARK: UIViewControllerTransitioningDelegate protocol methods
       func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -&gt; UIViewControllerAnimatedTransitioning? {
           self.presenting = true
          return self
      }
       func animationControllerForDismissedController(dismissed: UIViewController) -&gt; UIViewControllerAnimatedTransitioning? {
          self.presenting = false
          return self
      }
  }
  </code></pre>