My app is supposed to be landscape only, and I had no problem with this when building for iOS 6 and earlier. Now with iOS 7, It won't rotate at all.
In my app settings, I have it set to landscape left/right only. In my view controller, i'm using the following:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight;
}
I also used to use this, which is now deprecated:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
return UIInterfaceOrientationIsLandscape(orientation);
}
The new one appears to be shouldAutorotate, but using this crashes my app. Any ideas on this would be appreciated, since my app is forced to portrait on my iPad and in the simulator. Thank you!
This solves my problem. I'm not sure why I had issues before, but I must have missed trying this exact combination (also, info.plist should have the supported orientations set).
edit: I may have having issues with the simulator, and doing a reset/restart and clean might have contributed to the fix.
This worked for me: (Simulator -> Reset Content and Settings...)
Include this method as well in your code:
Read this for more info. Here it is mentioned that we should override
shouldAutorotate
to suppress orientations.i don't know why, but this work for me on IOS 7