我的应用程序旨在以纵向和横向方向工作 . 从iOS 8开始,如果设备以横向方向保持,则启动应用程序时会出现问题 . UI初始化不正确 .
我的用户必须关闭应用程序并在纵向握住设备时重新启动 .
如何安排应用程序始终以纵向模式启动而不将其锁定到此模式?在此之后,应允许用户更改为所有四个方向 .
在我的视图中,控制器shouldAutorotate返回true,supportedInterfaceOrientations返回all .
下面是一个适用于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 } }
单击项目导航器中的项目名称 . 然后转到常规和部署选项部分,选择您首选的设备方向
2 回答
下面是一个适用于ios 11的解决方案,我的应用程序支持纵向和横向,但初始视图的标签栏必须始终为纵向 . 设置方向锁并创建一个应该在didFinishLaunchingWithOptions中执行的实用程序,如下所示:
AppUtility.lockOrientation(.portrait)
单击项目导航器中的项目名称 . 然后转到常规和部署选项部分,选择您首选的设备方向