title: Why does dismissViewControllerAnimated work in one case, but not in another?
body: <p>I am <strong><em>pushing</em></strong> content controllers onto the navigation controller.</p>
  
  <p>I am <strong>presenting</strong> and <strong>dismissing</strong> the navigation controller.</p>
  
  <p>I've tried 2 alternative ways to add a navigation button to a content controller to <strong>dismiss the <code>UINavigationController</code></strong>, and both methods successfully call formDone, however, the first way results in a navigation controller that WONT be dismissed, even though <code>formDone</code> is called, while the second WILL dismiss the navigation controller as expected.  I can't even fathom what would cause such bizarre behavior.</p>
  
  <p>Alternative 1:</p>
  
  <pre><code>contentController.navigationItem.leftBarButtonItem = 
      [[UIBarButtonItem alloc] initWithTitle:@"Back" 
                                       style:UIBarButtonItemStylePlain 
                                       target:self 
                                       action:@selector(formDone)];
  </code></pre>
  
  <p>Alternative 2:</p>
  
  <pre><code>contentController.navigationItem.leftBarButtonItem = 
      [[UIBarButtonItem alloc]] initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
                                                     target:self 
                                                     action:@selector(formDone)];
  </code></pre>
  
  <p>Presenting code:</p>
  
  <pre><code>myNavigationController = [[UINavigationController alloc] init];
  [myNavigationController pushViewController:contentController animated:YES];
  [myPresentingController presentViewController:myNavigationController animated:YES completion:^{}];
  </code></pre>
  
  <p>Dismissal Code:</p>
  
  <pre><code>-(void)formDone
      {
          [myPresentingController dismissViewControllerAnimated:YES completion:^{ }];
      }
  </code></pre>