更改与ios6和ios5兼容的设备方向

时间:2013-08-22 06:12:29

标签: ios5 ios6 uiviewcontroller uiinterfaceorientation

我需要:以编程方式将设备从纵向旋转到横向兼容iOS6和iOS5 问题:我不能在ios6上使用[UIDevice setOrientation]函数。

我有什么:iOS6的代码:

- (BOOL) shouldAutorotate
{
    return YES;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeLeft;
}

iOS5的代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

所以,我需要编写在iOS5上旋转的代码:

 -(void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];

        // [[UIDevice currentDevice] setOrientation] - I cannot use it
        // ???
    }

1 个答案:

答案 0 :(得分:0)

我通过设置状态栏方向来实现这一点,尝试在代码中执行:

[[sharedApplication] setStatusBarHidden:YES];
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];

当您需要纵向模式时,请将状态栏设置为setStatusBarHidden:NO,然后再次将状态栏方向设置为纵向UIInterfaceOrientationPortrait