Multiple UIInterfaceOrientations app with iOS 6

前端 未结 2 2024
情书的邮戳
情书的邮戳 2020-12-18 12:47

I\'m having a bad time trying to set the new UIInterfaceOrientations from iOS 6.

Resuming my app:

  • My app have a bunch of views;
  • Almost every v
相关标签:
2条回答
  • 2020-12-18 13:07

    The problem was solved using by setting the Supported Interface Orientations to all I need (Portrait, Landscape right and left) and adding one Category of UINavigationController.

    I added the Category to any occurrence of UINavigationController that I want to stay on Portrait mode and treated the iOS 6 rotation like this post:

    @implementation UINavigationController (Rotation_IOS6)
    
    -(BOOL)shouldAutorotate
    {
        return NO;
    }
    
    -(NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationPortrait;
    }
    
    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
    {
        return UIInterfaceOrientationPortrait;
    }
    
    @end
    

    With this implemented I still have some problems because the code was like this:

    [self.window.rootViewController presentModalViewController:controller animated:NO]; 
    

    instead of this:

    [self.navigationController pushViewController:controller animated:NO];
    

    With the above changes I was able to keep the entire app on Portrait Mode and let the video player views to keep rotating because their methods (shouldRotate and supportedInterfaceOrientations) weren't overridden.

    0 讨论(0)
  • 2020-12-18 13:21

    Check out my post: https://stackoverflow.com/a/12538622/1575017 It's the same thing but flipped orientations for you.

    0 讨论(0)
提交回复
热议问题