简体   繁体   中英

Upside down orientation not working in iOS6 for UINavigation view and UITabbar view?

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

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.

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.

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;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM