如何仅以特定方向呈现UIView或UIViewController? (与设备方向无关)

时间:2019-03-27 01:27:34

标签: swift xcode uiview uiviewcontroller orientation

我有一个应用程序,其根视图控制器处于纵向模式。但是我想将其子视图控制器之一修复为landscapeLeft。我怎么能意识到这一点?

我的项目设置同时包含该应用的landscapeLeft和Portrait方向。

在根视图控制器中:

override var shouldAutorotate: Bool {
        return false
    }    
override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation
    {
        return .portrait
    }

在子视图控制器中:

    override var shouldAutorotate: Bool {
        return false
    }   
    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .landscapeLeft       
    }
    override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation
    {
        return .landscapeLeft
    }

但是,子视图控制器似乎仍然固定在纵向模式下,也许由根视图控制器中的设置主导?如果是这样,我应该如何调整以实现自己的目标?

希望有人可以在这里提供见解。只是要确保我正在寻找正确的位置。

非常感谢!

关于, 保罗

1 个答案:

答案 0 :(得分:0)

进入info.plist,然后在“支持的界面方向”下删除除风景(左主屏幕按钮)或风景(右主屏幕按钮)以外的所有内容。您更喜欢哪个。