gpt4 book ai didi

iphone - 显示模态视图 Controller 时设备旋转

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

我有一个支持动态设备方向的 OpenGL 应用程序。我可以将设备旋转到 4 个物理方向中的任何一个,一切都按预期工作。

现在我添加了一个模态视图 Controller ,这样您就可以获得一个设置 View (这是非 OpenGL 的)。模态视图 Controller 还支持任何设备方向。

但是,如果我在方向 A(例如纵向)中显示模态视图 Controller 并在方向 B(例如横向右)中关闭它,则在关闭后,OpenGL View 会损坏(纵横比看起来不对)。我必须将设备定向到不同的方向,以便 OpenGL View 自行“校正”。

当模态视图 Controller 被关闭时,应用程序认为它已经处于方向 B,因此它永远不会旋转 OpenGL View 。

如果我在模态视图 Controller 上禁用旋转,那么如果我在方向 A 中呈现模态 Controller ,将设备旋转到方向 B(模态视图 Controller 不再旋转)并关闭 Controller ,OpenGL View 将获取 willRotateToInterfaceOrientation/didRotateFromInterfaceOrientation 并正确定向到方向 B。

有什么方法可以保持模态 Controller 的动态方向,同时让 OpenGL View 在模态 Controller 关闭后也能正确旋转?

谢谢。

最佳答案

我对自定义操作表有类似的问题,并决定最简单的答案是在显示 View 时暂时禁止旋转。您可以在 Apple Notes 应用程序中看到这样的示例,只要显示操作表,方向就会被锁定。

我知道您已经尝试过这个并且它有效,我只是认为您应该将其视为一个有效的解决方案。

否则我不确定如何解决它,您可能需要在模态视图 Controller 中存储方向的任何更改并将它们同时或一次传递回 OpenGL View Controller 关闭设置 View ,然后手动重新渲染。

关于iphone - 显示模态视图 Controller 时设备旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883936/

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