title: Rotating the screen from Portrait to Landscape
body: <p>I use following code I found in the web to rotate the screen to landscape mode. I don’t understand what they suppose to do. Specially the bounds it is setting. Can someone give some explanation what it is doing?</p>
  
  <pre><code>if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait)
  {
      CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
  
      [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
  
  
      UIScreen *screen = [UIScreen mainScreen];
      CGRect newBounds = CGRectMake(0, 0, screen.bounds.size.height, screen.bounds.size.width - statusBarFrame.size.height);
  
  
  
      self.navigationController.view.bounds = newBounds;
      self.navigationController.view.center = CGPointMake(newBounds.size.height / 2.0, newBounds.size.width / 2.0);
      self.navigationController.view.transform = CGAffineTransformConcat(self.navigationController.view.transform, CGAffineTransformMakeRotation(degreesToRadian(90)));
      self.navigationController.view.center = window.center;
  }
  </code></pre>