0

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

我有什么: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
        // ???
    }
4

1 回答 1

0

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

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

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

于 2013-08-22T06:24:45.003 回答