I'm working on an iPhone app. Right now all my view controllers rotate to portrait, landscape left, and landscape right (default behavior for an iPhone app out of the box). What I want is for my app's setup, app-wide, to include support for all interface orientations. How do I make that happen? I have all interface orientations selected at the project level and it's not making any difference. Here's a pic:
Now, when I test my app on my iPhone, it refuses to rotate to UIInterfaceOrientationPortraitUpsideDown
. Why?
Okay, once we get that figured out, there is a follow up question... I have a single view controller within my app that I only want to support UIInterfaceOrientationPortrait
and UIInterfaceOrientationPortraitUpsideDown
how can I achieve this? I have the following code in my controller and it doesn't do the trick:
// The following method never gets called (but wanted to
// include this to show that I've tried it).
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
// This method does get called but has no effect. The VC that this method
// belongs to rotates to all interface orientations except for
// UIInterfaceOrientationPortraitUpsideDown which is definitely
// not what I want...
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown;
}
// This method never gets called either and therefore has no effect...
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait) || (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
Note that my app is storyboard based (if that makes any difference). Any help would be much appreciated! Thanks.