Objective-c使用UIInterfaceOrientationMask来控制方向

时间:2017-01-12 21:52:53

标签: ios objective-c landscape portrait

我有一个带有4个viewcontrollers的应用程序。必须仅以横向模式呈现一个。其他3个可以是横向或纵向。

在我的部署信息区域,设备方向,我已选中颠倒,左侧横向和横向右侧。 在Info.plist中,我有3个支持的界面方向:左侧横向,右侧横向和纵向主页按钮。

在我的视图控制器中,我想要的只有风景我有:      - (BOOL)shouldAutorotate {         返回YES;     }

-(UIInterfaceOrientationMask) supportedInterfaceOrientations {
    return   UIInterfaceOrientationMaskLandscapeLeft+UIInterfaceOrientationMaskLandscapeRight;
}

在其他3个视图控制器中,我有:      - (BOOL)shouldAutorotate {         返回YES;     }

-(UIInterfaceOrientationMask) supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}

使用以下所有设置: 1)仅应在景观中的景观仅在景观中,因此很好。 2)其他3个视图可以横向左侧,横向右侧和纵向模式显示,按钮位于顶部。 3)当我尝试在另一个纵向位置旋转屏幕时,它不会旋转。

因此,我更改“部署”页面或“Info.plist”页面以包含未选中的第4个选项。结果是其他3个视图旋转正常,但横向模式视图现在旋转为纵向。

我需要做什么才能获得我的第一个视图景观而另外3个以任何方式旋转?

1 个答案:

答案 0 :(得分:0)

您可以使用此链接控制您的方向,这对我有用。

https://stackoverflow.com/a/24928474/6438500