繁体   English   中英

仅对一个UIViewController允许多个方向

[英]Allow multiple orientations for only one UIViewController

我希望我的应用程序的总体方向是纵向,但是对于一个特定的UIViewController (VC2B),我希望用户能够倾斜设备以实现横向方向。 (VC2B有一个导航栏)

我尝试了不同类型的代码,但是没有运气。 理想情况下,我只想在UIViewController (VC2B)中启用旋转。 但这似乎是不可能的,相反,您似乎必须启用“常规”部分中的所有方向,然后以编程方式将其关闭-这是真的吗?

无论如何,我尝试过各种东西

override func shouldAutorotate() -> Bool {
    return true
}

override func supportedInterfaceOrientations() -> Int {
    return Int(UIInterfaceOrientation.LandscapeLeft.rawValue) | Int(UIInterfaceOrientation.LandscapeRight.rawValue) | Int(UIInterfaceOrientation.Portrait.rawValue)
}

下面的答案建议覆盖应该将shouldAutorotate为false,但是如果以横向模式加载页面,则该页面仅停留在横向模式下不起作用。

只允许一个View Controller的所有方向

问题 :如何在不向我的所有 UIViewController添加代码的情况下,以整齐的方式仅对一个UIViewController允许多个方向?

遇到相同情况时,请执行以下操作:

在每个ViewController.swift的“常规信息”屏幕中启用所需的方向,使用truefalse 覆盖自动旋转功能(对于应该旋转的一个,为true;对于其他旋转的,则为false)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM