仅以纵向启动应用程序

Posted

技术标签:

【中文标题】仅以纵向启动应用程序【英文标题】:Launching an app only in portrait orientation 【发布时间】:2020-07-11 17:31:37 【问题描述】:

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

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

在 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
    

试一试,如果有效,请告诉我。

【讨论】:

谢谢,但它不起作用,整个应用程序停留在纵向模式。当我改变设备的方向时,什么都没有移动。大体参数还是纵向,横向左右。 是的,我认为它工作得很好!我稍后会全面了解它,但现在它似乎很棒。非常感谢!

以上是关于仅以纵向启动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在横向模式下飞溅(启动图像)?

如何在 iPhone sdk 中以 LandScape 模式启动启动画面

移动网站应仅以横向模式查看,而不应在 Ipad 和平板电脑中以纵向模式查看 [重复]

如何仅将整个应用程序设置为纵向模式?

应用程序启动时锁定为纵向从横向旋转到纵向 (iOS)

如何强制 iOS 应用以纵向模式启动