How to support only portrait mode on an iPhone app

autorotate, device-orientation, iphone, objective-c, xcode

Solution

It is possible to have multiple ViewControllers on the screen. The `UITabBarController` is itself a `UIViewController`, and it only passes `shouldAutorotateToInterfaceOrientation:` requests to the viewControllers within if it chooses. The default implementation does this, but if you subclass it, the code XCode generates (as of iOS 5.1) does not.

Problem

I have a strange problem in an iPhone app I'm developing. I want my app to support ONLY portrait mode, but for some reason I can't do it (device & simulator). To support only portrait mode I did as follow: - In the TARGET summary section on Xcode, I chose only portrait. - All my ViewControllers implements `shouldAutorotateToInterfaceOrientation` But as I said it won't work, and the strange result is that the app support ALL the orientations (portrait, upside down, landscape left, landscape right). Any ideas? this how I implement `shouldAutorotateToInterfaceOrientation` ``` - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations NSLog(@"Checking orientation %d", interfaceOrientation); return (interfaceOrientation == UIInterfaceOrientationPortrait); } ``` I notice just now that when I rotate the phone I get this message: "Two-stage rotation animation is deprecated. This application should use the smoother single-stage animation." What does it means?

Original source

Related problems