title: iOS 8: Presenting a modal view controller in portrait causes resize of the navigation bar of the underlying landscape navigation controller
body: <p>On iOS 8 I have a strange behavior regarding the navigation bar and orientation changes.</p>
  
  <p>I have a navigation controller which reports a supported interface orientation <code>UIInterfaceOrientationMaskLandscapeRight</code>. The navigation bar has the expected height for landscape orientation (sadly I am not entitled to post screenshots).</p>
  
  <p>Then I initiate a modal presentation of a view controller that only supports <code>UIInterfaceOrientationMaskPortrait</code>. When the presentation animation starts, it seems that the metrics of the underlying navigation controller are changed to a portrait presentation, as the height of the navigation bar grows to its portrait size, as depicted above.</p>
  
  <p>iOS 7 does not exhibit this behavior. What am I missing? I want to restore the old behavior.</p>
  
  <p>Here is the full code of the simple example above:</p>
  
  <pre><code>@implementation AppDelegate
  
  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
  {
      self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  
  
      DOGButtonViewController *root = [DOGButtonViewController new];
      DOGOrientedNavigationController *navi = [[DOGOrientedNavigationController alloc] initWithRootViewController:root];
      navi.allowedInterfaceOrientations = UIInterfaceOrientationMaskLandscapeRight;
  
      self.window.rootViewController = navi;
  
      [self.window makeKeyAndVisible];
      return YES;
  }
  
  - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
  {
      return UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortrait;
  }
  
  @end
  
  
  @implementation DOGOrientedNavigationController
  
  - (NSUInteger)supportedInterfaceOrientations
  {
      return self.allowedInterfaceOrientations;
  }
  
  @end
  
  @implementation DOGButtonViewController
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      self.title = @"Button View Controller";
  }
  
  - (BOOL)prefersStatusBarHidden
  {
      return YES;
  }
  
  - (IBAction)buttonClicked:(id)sender
  {
      DOGPortraitViewController *vc = [DOGPortraitViewController new];
      [self presentViewController:vc animated:YES completion:nil];
  }
  
  @end
  
  @implementation DOGPortraitViewController
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      self.title = @"Portrait Title";
  }
  
  - (NSUInteger)supportedInterfaceOrientations
  {
      return UIInterfaceOrientationMaskPortrait;
  }
  
  - (IBAction)buttonClicked:(id)sender
  {
      [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
  }
  
  - (BOOL)prefersStatusBarHidden
  {
      return YES;
  }
  
  @end
  </code></pre>
  
  <p>In a more complex setup I also experience the text in a UIWebView contained in the navigation controller being scaled up when presenting the portrait modal. When dismissing the modal, the text is not resized to its original size.</p>