Ios 仅以纵向方式启动应用程序

Ios 仅以纵向方式启动应用程序,ios,swift,iphone,xcode,Ios,Swift,Iphone,Xcode,我正在尝试在Swift上开发一个应用程序,它支持纵向和横向两种方向,但我不希望用户能够在横向模式下启动它。 那么,有没有一种方法可以防止这种横向打开,同时将应用程序的设备方向参数保持在纵向、横向左侧和横向右侧,或者只有在使用UIInterfaceOrientationTask启动应用程序后,才有方法从纵向更改设备方向参数 非常感谢你的帮助 在AppDelegate的方法中限制它- var supportedOrientation: UIInterfaceOrientationMask = .po

我正在尝试在Swift上开发一个应用程序,它支持纵向和横向两种方向,但我不希望用户能够在横向模式下启动它。 那么,有没有一种方法可以防止这种横向打开,同时将应用程序的设备方向参数保持在纵向、横向左侧和横向右侧,或者只有在使用UIInterfaceOrientationTask启动应用程序后,才有方法从纵向更改设备方向参数


非常感谢你的帮助

在AppDelegate的方法中限制它-

var supportedOrientation: UIInterfaceOrientationMask = .portrait

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
    return supportedOrientation  
}
在所有视图控制器中替代以下内容-

override func viewDidAppear(_ animated: Bool) {
    if let delegate = UIApplication.shared.delegate as? AppDelegate {
        var orientation: UIInterfaceOrientationMask = .all
        delegate.supportedOrientation = orientation
    }
}

试试看,让我知道它是否有效。

谢谢,但它不起作用,整个应用程序仍处于纵向模式。当我更改设备的方向时,任何东西都不会移动。一般的参数仍然是纵向、横向、左右。@EdouardDemenois更新了答案,试试看。是的,我认为它工作得很好!我将在稍后全面研究它,但目前看来它似乎是伟大的。谢谢!