3

我的应用程序中有两个视图控制器。
第一个视图控制器是纵向模式,第二个视图控制器是横向模式。

即使我旋转 iPhone,我也不想改变它们的方向。我该怎么做?

4

2 回答 2

4

在 Xcode 中,突出显示 Project Navigator 中的项目,然后在项目树中选择目标。打开摘要页面,然后转到支持的接口方向部分。取消单击您不希望应用程序支持的方向。

在故事板中,选择您的第一个视图控制器,转到属性检查器,然后在模拟度量部分中将方向设置为“纵向”。现在选择第二个视图控制器,并将其方向设置为“横向”。

在视图控制器代码中,实现

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

对于第一个视图控制器,以及

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

对于第二个视图控制器。这应该可以为您解决问题。

于 2013-02-16T16:25:21.190 回答
2

在您的情况下,您有两个 VC。因此,在以下方法下的两个 VC 中,只需处理您的方向。并对 toInterfaceOrientation 执行检查并返回 YES。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
     // For your VC1
     if (toInterfaceOrientation == UIInterfaceOrientationPortrait)
           return YES;
     // For your VC2
     /*
     if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
           return YES;  
     */

}
于 2013-02-16T16:40:26.180 回答