呈现横向强制的模态视图控制器

时间:2011-07-03 00:29:11

标签: objective-c ios cocoa-touch uiviewcontroller modalviewcontroller

我从表视图中呈现这样的模态视图控制器(忽略内存泄漏,只是测试..):

[self presentModalViewController:[[SignatureVC alloc] init] animated:YES];

在我的SignatureVC中,我正在实现这个:

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

我希望SignatureVC仅处于横向模式。但是,在呈现模态视图控制器后,方向不会改变。 我究竟做错了什么?感谢。

3 个答案:

答案 0 :(得分:2)

方法-shouldAutorotateToInterfaceOrientation:不会旋转界面方向。如果设备方向旋转,它仅允许界面方向旋转。

如果在设备处于纵向状态时出现模态视图,则它将处于纵向状态。但是,一旦您旋转到landscapeLeft,它将使用此代码保持锁定在该方向。

要强制界面旋转,您可以使用

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;

答案 1 :(得分:0)

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskLandscape;
}

可以为最低部署目标 IOS 6.0

的应用带来魔力

答案 2 :(得分:0)

试试这个

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationPortrait;
}

-(BOOL)shouldAutorotate {
    return NO;
}