gpt4 book ai didi

ios - 防止 UIViewController 在模态旋转时旋转

转载 作者:行者123 更新时间:2023-12-04 13:45:15 26 4
gpt4 key购买 nike

我的应用程序基本上是一个仅限肖像的应用程序。所以没有任何东西在旋转。但并非只有一个异常(exception)。用户可以添加照片,当全屏查看这些照片时,应该允许这个 ViewController 旋转。

所以我想如果我正在展示的 ViewController 有 supportedInterfaceOrientations返回 .portrait还有 shouldAutorotate返回 false ,这应该就足够了,以防止那个旋转?!?

事实证明,当我在显示全屏图像的同时旋转时,下面的图像也会旋转。

总结一下:

RootViewController 永远不应该旋转
PresentedViewController 可以旋转,但是他的旋转应该没有旋转RootViewController

有没有办法实现这一目标?

最佳答案

可能为时已晚,但如果有人遇到同样的问题,我会提供我的解决方案。
如果为呈现的 Controller 设置 modalPresentationStyle = .fullScreen ,实际上可以抑制底层窗口的旋转,那么如果您查看“View UI Hierarchy”,那么您会注意到代表全屏 Controller 的 Controller 将从 Controller 层次结构中删除。但同时 modalPresentationStyle = .overFullScreen 保持一切原样,是什么导致旋转底层 Controller ,即使它默认设置支持方向为纵向,即 UIWindow 在 modalPresentationStyle = 的情况下通过层次结构管理和路由系统事件尊重最高 Controller 的设置.overFullScreen。所以根据事实,如果有必要,例如自定义演示,我建议使用额外的 UIWindow,它将负责全屏显示 Controller 。
我已经为解决方案实现了测试项目:here

关于ios - 防止 UIViewController 在模态旋转时旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50042687/

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