title: Custom transition between UIViewControllers does not work
body: <p>I have object that manage custom transition:</p>
  
  
  
  <pre class="lang-objc prettyprint-override"><code>    @interface NavigationManager : NSObject &lt;UIViewControllerAnimatedTransitioning&gt;
  
      -(NSTimeInterval)transitionDuration:(id&lt;UIViewControllerContextTransitioning&gt;)transitionContext;
      -(void)animateTransition:(id&lt;UIViewControllerContextTransitioning&gt;)transitionContext;
  
      @property (nonatomic, assign) NSTimeInterval presentationDuration;
      @property (nonatomic, assign) NSTimeInterval dismissalDuration;
      @property (nonatomic, assign) BOOL isPresenting;
  
  
      @end
  
      @interface NavigationManager()
  
      @property (nonatomic, strong) id&lt;UIViewControllerContextTransitioning&gt; transitionContext;
  
      @end
  
      @implementation NavigationManager
  
      @synthesize presentationDuration, dismissalDuration, isPresenting;
  
      -(id)init{
          self = [super init];
  
          if(self){
  
              self.presentationDuration = 1.0;
              self.dismissalDuration = 0.5;
          }
  
          return self;
      }
  
      -(NSTimeInterval)transitionDuration:(id&lt;UIViewControllerContextTransitioning&gt;)transitionContext{
  
          return self.isPresenting ? self.presentationDuration : self.dismissalDuration;
      }
  
      -(void)animateTransition:(id&lt;UIViewControllerContextTransitioning&gt;)transitionContext{
  
  
          self.transitionContext = transitionContext;
          if(self.isPresenting){
              [self executePresentation:transitionContext];
          }
          else{
  
              [self executeDismiss:transitionContext];
          }
  
      }
  
      ...
  
  
      @end
  </code></pre>
  
  <p>And in class that should process implement transitions:</p>
  
  <pre class="lang-objc prettyprint-override"><code>@interface ViewController : UIViewController &lt;UIViewControllerTransitioningDelegate&gt;
  
  @property (nonatomic, strong) NavigationManager navigationManager;
  
  ..
  
  @end
  
  @implementation
  
  ...
  </code></pre>
  
  <p>//Here I`m doing navigation to new UIViewController</p>
  
  <pre class="lang-objc prettyprint-override"><code> - (void)navigateToNewScreen
  {
      DetailedNewsController *secVC = [[DetailedNewsController alloc] init];
      secVC.fullDescription = fullDescription;
      secVC.headerImage = a.imageView.image;
      self.transitioningDelegate = self;
      [self.navigationController pushViewController:secVC animated:YES];
  }
  
   - (id&lt;UIViewControllerAnimatedTransitioning&gt;)animationControllerForPresentedController:(UIViewController *)presented
  presentingController:(UIViewController *)presenting
  sourceController:(UIViewController *)source
  {
      self.animationController.isPresenting = YES;
      return self.animationController;
  }
  
   - (id &lt;UIViewControllerAnimatedTransitioning&gt;)animationControllerForDismissedController:(UIViewController *)dismissed
  {
      self.animationController.isPresenting = NO;
      return self.animationManager;
  }
  
  @end
  </code></pre>
  
  <p>Default animation of transitioning is performed. Also navigation controller bar is not displayed after navigation.</p>
  
  <p>UPDATE:</p>
  
  <p>I thing problem in way how I`m creating UINavigationController in AppDelegate:</p>
  
  <pre class="lang-objc prettyprint-override"><code>firstVC = [[ViewController alloc] init];
  navController = [[UINavigationController alloc] initWithRootViewController:firstVC];
  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  self.window.backgroundColor = [UIColor blackColor];
  self.window.rootViewController = navController;
  [self.window makeKeyAndVisible];
  </code></pre>