Lock orientation regardless of rotation

后端 未结 3 1473
广开言路
广开言路 2021-01-27 07:07

I have a UITabBar application with embedded UINavigation for some of the views. On one specific navigationview I am displaying graphs/charts and it wou

3条回答
  •  醉梦人生
    2021-01-27 07:27

    Firstly I am using iOS 6 SDK.

    I am using a custom TabBar Controller. and controlling the orientation of that TabBar Controller by the below set of codes

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        // You do not need this method if you are not supporting earlier iOS Versions
        return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
    }
    
    - (NSUInteger)supportedInterfaceOrientations
    {
        return [self.selectedViewController supportedInterfaceOrientations];
    }
    
    - (BOOL)shouldAutorotate
    {
        return YES;
    }
    

    And the view controller should contain

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
        return UIInterfaceOrientationIsLandscape(orientation);
    }
    

    This is what I did and was able to lock a view to landscape or portrait (in my case). To force may be you can put a alert view stating the user to turn the device to landscape and show him the graph. Just a suggestion.

提交回复
热议问题