gpt4 book ai didi

ios - Swift 5,先将VIDEO锁定为Portrait模式,其他VC支持所有方向

转载 作者:行者123 更新时间:2023-12-01 15:54:33 25 4
gpt4 key购买 nike

我正在尝试在 Swift 5 中构建一个应用程序,它在 potrait 模式下有一个锁定的 VC。在下一个 VC 中,我希望方向支持所有方向。我尝试了几种不同的解决方案,但似乎都不起作用。我没有导航 Controller 或 TabBar。我的应用程序现在在两个 VC:s 上都被锁定在 potrait 中。我在常规设置选项卡中支持不同的设备方向。

这是我当前在 AppDelegate 中的代码:

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

第一位风投:

override var shouldAutorotate: Bool {
return false
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.portrait
}

override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
return UIInterfaceOrientation.portrait
}

第二个风投:

override var shouldAutorotate: Bool {
return false
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.all
}

最佳答案

不幸的是,这是一个棘手的话题。但是,如果您没有 UINavigationControllerUITabBarController,它应该很简单。

AppDelegate 中,就像您已经完成的那样,放入:

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

在第一个 UIViewController 集合中:

// This stops the controller from rotating
override var shouldAutorotate: Bool {
false
}

// This will rotate it back to portrait once it's presented again
override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
.portrait
}

在第二个中你不需要任何东西,因为 shouldAutorotate 默认为 true

注意:如果您没有使用 UINavigationController,您可能会显示第二个 Controller 。第二个 Controller 必须.fullScreen.currentContextmodalPresentationStyle

我在示例项目中尝试过它,这是我让它工作的唯一方法。

关于ios - Swift 5,先将VIDEO锁定为Portrait模式,其他VC支持所有方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63034120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com