锁定屏幕方向为纵向 - ios swift

Lock screen Orientation to portrait - ios swift

我正在创建一个仅支持纵向模式的应用程序。我不想横向或纵向颠倒。我尝试了一些代码。这让我可以锁定纵向模式。

我正在使用 navigationcontroller 和 presentviewcontroller。现在我的问题是: 1. 如果我将我的设备倒置并打开我的应用程序,它会以错误的倒置模式打开。 2. 我点击某个按钮并进入 presentviewcontroller it returns 到纵向模式。

我想要所有的navigationcontroller和presentviewcontroller都是竖屏模式

我的代码:

我在 Target -> General -> Deployment Info -> Portrait

中设置了设备方向肖像

在我的appdelagate.swift:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
        return UIInterfaceOrientationMask.Portrait
    }

在我的第一个视图控制器中。这基本上是 child 的 Navigation Controller

override func shouldAutorotate() -> Bool {


            return false
        }

        override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
            return [UIInterfaceOrientationMask.Portrait ]
        }

编辑 1:

我也设置了StoryBoard -> ViewController -> Attribute Inspector -> Orientation -> Portrait

编辑 2:

我的设置文件

转到目标 --> 常规并将方向模式设置为纵向。

同时勾选 info.plist。确保 Supported Interface Orientations 只包含一个值(纵向)。有时它会从设置中删除但不会在 plist 文件中更新。

如果您的应用不支持分屏视图,您应该选中“需要全屏”选项。这解决了我的肖像模式问题。

如果这不能解决问题,请在您的 info.plist 中添加 支持的界面方向 数组类型的键。并将值为 Portrait(底部主页按钮)

的字符串项添加到该数组