Objective-c 使用 UIInterfaceOrientationMask 来控制方向
Posted
技术标签:
【中文标题】Objective-c 使用 UIInterfaceOrientationMask 来控制方向【英文标题】:Objective-c using UIInterfaceOrientationMask to control orientation 【发布时间】:2017-01-12 21:52:53 【问题描述】:我有一个带有 4 个视图控制器的应用程序。一个只能以横向模式呈现。其他 3 个可以是横向或纵向。
在我的部署信息区域“设备方向”中,我选中了“倒置”、“向左横向”和“向右横向”。 在 Info.plist 中,我有 3 个支持的界面方向:横向左、横向右和纵向顶部主页按钮。
在我只想要风景的视图控制器中,我有: -(BOOL) 应该自动旋转 返回是;
-(UIInterfaceOrientationMask) supportedInterfaceOrientations
return UIInterfaceOrientationMaskLandscapeLeft+UIInterfaceOrientationMaskLandscapeRight;
在其他 3 个视图控制器中,我有: -(BOOL) 应该自动旋转 返回是;
-(UIInterfaceOrientationMask) supportedInterfaceOrientations
return UIInterfaceOrientationMaskAll;
使用所有这些设置: 1)应该只在风景中的视图只是在风景中,所以这很好。 2)其他3个视图可以通过顶部的按钮以横向左、横向右和纵向模式显示。 3) 当我尝试在另一个纵向位置旋转屏幕时,它不会旋转。
因此,我更改了部署页面或 Info.plist 页面以包含未选中的第四个选项。结果是其他 3 个视图旋转正常,但横向模式视图现在旋转为纵向。
我必须做些什么才能让我的第一个视图风景只和其他 3 个以任何方式旋转?
【问题讨论】:
【参考方案1】:你可以使用这个链接来控制你的方向,这对我有用。
https://***.com/a/24928474/6438500
【讨论】:
感谢您的回复。 将代码剪切并粘贴到视图控制器中会产生 2 个关于使用未声明变量 appDelegate 的错误。 这里的appDelegate是AppDelegate的实例。你必须创建你的 AppDelegate 实例。以上是关于Objective-c 使用 UIInterfaceOrientationMask 来控制方向的主要内容,如果未能解决你的问题,请参考以下文章