gpt4 book ai didi

ios - 旋转行为 iOS8 与 iOS9

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:59:06 25 4
gpt4 key购买 nike

我有一个应用程序在所有 View 中都被锁定为纵向,除了 AllButUpsideDown。我使用的方法是在目标常规设置菜单中启用肖像、左风景和右风景。然后有 UINavigationController 和 UITabBarController 的子类覆盖 func supportedInterfaceOrientations() -> UIInterfaceOrientationMask 并返回 .Portrait

然后在需要能够旋转的 View Controller 中,我还覆盖了 func supportedInterfaceOrientations() -> UIInterfaceOrientationMask 并返回 .AllButUpsideDown。这工作正常,因为这个 View Controller 仅作为模态呈现,即 aViewController.presentViewController()

所有这些在 iOS8 上的 iOS9 上都按预期工作,但是如果我在横向时关闭可旋转 View Controller ,UI 将缩放为横向,但它会以纵向显示。

result in iOS8

有人知道该怎么办吗?我从一开始就错误地处理了这个轮换问题吗?任何干净的修复?解决方法?黑客?

更新

我的问题源于我使用自定义转换来呈现和关闭可以旋转的 View Controller 。我尝试使用多种不同的解决方案来解决这个问题一段时间。我最接近的解决方案是为我的可旋转 View Controller 使用一个单独的 UIWindow,除了承载栏仍然处于错误方向的问题外,它工作正常,这是我未能解决的问题。

我采用的解决方案(不是真正的解决方案)是仅在 iOS9+ 中使用自定义过渡,而在 iOS8 上使用默认的当前过渡。

最佳答案

我在从 VC 返回时遇到了类似的问题,从支持横向到仅支持纵向的 VC。我没有找到一个干净的解决方法。不建议使用这几行,但如果你绝望的话,你可以在你要关闭时强制你的设备方向。

let value = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")

关于ios - 旋转行为 iOS8 与 iOS9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38368841/

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