我的应用程序中有两个视图控制器。
第一个视图控制器是纵向模式,第二个视图控制器是横向模式。
即使我旋转 iPhone,我也不想改变它们的方向。我该怎么做?
在 Xcode 中,突出显示 Project Navigator 中的项目,然后在项目树中选择目标。打开摘要页面,然后转到支持的接口方向部分。取消单击您不希望应用程序支持的方向。
在故事板中,选择您的第一个视图控制器,转到属性检查器,然后在模拟度量部分中将方向设置为“纵向”。现在选择第二个视图控制器,并将其方向设置为“横向”。
在视图控制器代码中,实现
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
对于第一个视图控制器,以及
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
对于第二个视图控制器。这应该可以为您解决问题。
在您的情况下,您有两个 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;
*/
}