即使设备处于横向状态,也可以纵向启动App

时间:2015-03-31 06:47:19

标签: ios objective-c

我的应用程序旨在以纵向和横向方向工作。 从iOS 8开始,如果设备以横向方向保持,则启动应用程序时会出现问题。用户界面初始化不正确。

我的用户必须关闭应用程序,然后在按住设备的同时重新开始。

如何安排应用程序始终以纵向模式启动而不将其锁定到此模式?在此之后,应允许用户更改为所有四个方向。

在我的视图中,控制器shouldAutorotate返回true,supportedInterfaceOrientations返回all。

2 个答案:

答案 0 :(得分:1)

这是一个适用于ios 11的解决方案,我的应用程序支持纵向和横向,但初始视图的标签栏必须始终为纵向。设置方向锁并创建一个应该在didFinishLaunchingWithOptions中执行的实用程序,如下所示:

AppUtility.lockOrientation(.portrait)

    func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
    return self.orientationLock
}

struct AppUtility {
    static func lockOrientation(_ orientation: UIInterfaceOrientationMask) {
        if let orientationDelegate = UIApplication.shared.delegate as? AppDelegate {
            orientationDelegate.orientationLock = orientation
        }
    }

答案 1 :(得分:-1)

单击项目导航器中的项目名称。然后转到常规和部署选项部分,选择您首选的设备方向

enter image description here