问题
I created an app in ios 6 with navigation view.Also I have set all orientation options in the application summary and even used the
-(BOOL) shouldAutoRotate
and
-(NSUInteger) supportedInterfaceOrientaion
methods in my view controller.when I run my app orientation works fine except upside-down.What should I do to also support upside-down.
I also facing the same problem when I add UITabBar controller.
Please share your ideas.
Thank you
回答1:
Hai I have found solution for my problem
Solution: For the app which consist UINavigation controller, just I created a category for UINavigation Controller class and I defined these methods
-(BOOL) shouldAutorotate{
return YES;
}
-(NSUInteger) supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
After adding this, all orientation were supported in my app.
The same, I done for UITabBar Controller also.This too worked for me by creating category for UITabBar Controller.
Thank you.
回答2:
Phone apps traditionally don't support upside down (why would you hold the phone upside down?) - the default project will support portrait and both landscape options, but not upside down.
Change this in the project info viewer in Xcode and you should be fine. There is a visual representation of the supported orientations, and upside down will be unselected.
回答3:
I think the solution of NSUserDefault is incomplete:
From: https://developer.apple.com/library/ios/qa/qa1688/_index.html
Note: You should always prefer subclassing to categories when modifying rotation behavior for UIKit classes such as UINavigationController. Because other classes may depend on the existing behavior of the UIKit container view controllers, the changes introduced by a category may cause unexpected behavior.
So I think the best solution is to create a subclass and to add:
-(BOOL) shouldAutorotate{
return YES;
}
-(NSUInteger) supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
来源:https://stackoverflow.com/questions/13604503/upside-down-orientation-not-working-in-ios6-for-uinavigation-view-and-uitabbar-v