title: iOS 3.2 to iOS 7 interface orientation inconsistency
body: <p>I have a very old app that's compatible with iOS 3.2+ devices (both iPads and iPhones). And I have a big issue making it compatible with iOS 7!</p>
  
  <p>In fact, it has been written long ago before ARC, storyboards and all that syntactic sugar we are pleased to play with nowadays. And I'm having a very hard time trying understanding some interface orientation issue:</p>
  
  <p>For the iPhone, the app is only visible in landscape... No problemo with the main ViewController. But the settings one (a simple ViewController with a UITableView in it) is always displayed in Portrait !!! Whatever the properties I set and the methods I write.</p>
  
  <p>In the <code>.plist</code> I have only supported orientations LandscapeLeft and Right. In the Settings View Controller, I have those methods:</p>
  
  <pre><code>- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
      return UIInterfaceOrientationIsLandscape(interfaceOrientation) || (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPhone);
  }
  
  - (BOOL) shouldAutorotate {
      return YES;
  }
  
  - (NSUInteger)supportedInterfaceOrientations {
      return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)?UIInterfaceOrientationMaskLandscape:UIInterfaceOrientationMaskAll;
  }
  </code></pre>
  
  <p>But what really bothers me is that when I display <code>self.interfaceOrientation</code> it says Landscape (in the <code>viewWillAppear</code>, <code>viewDidAppear</code> and <code>viewWillLayoutSubviews</code>).</p>
  
  <p>But the most weird, is that the status bar is in Landscape, over the Portrait ViewController!!!</p>
  
  <p>(Of course, the problem appears both on device and simulator)</p>
  
  <p>So if someone can help putting back that ViewController all in Landscape. Thanks in advance!</p>