0

我有一个视图控制器,它正在推动另一个应该处于横向模式的 vc,但在推动时它不会自动旋转到横向,即。仍然是纵向的。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        return YES;
    }

    return NO;
}

当弹出 vc 并返回到第一个控制器一切都完美时,它仅以纵向模式显示。

我可以通过旋转手机/模拟器让第二个 vc 旋转,然后坚持自动旋转景观。然后在弹出时也很完美,返回到纵向模式。

那么有什么方法可以将界面旋转到横向。尝试过使用

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];

但没有取得很大的成功。然后状态栏在弹出时卡在横向。

4

1 回答 1

1

在你的viewDidLoad方法中使用它,它应该可以工作

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
CGAffineTransform rotate = CGAffineTransformMakeRotation(M_PI_2);
[self.view setTransform:rotate];

CGRect contentRect = CGRectMake(0, 0, 480, 320); 
self.view.frame = contentRect; 
[self.view setCenter:CGPointMake(160.0f, 240.0f)];
于 2011-06-27T11:29:52.253 回答