gpt4 book ai didi

iphone - popViewController 不会自动旋转回允许的方向

转载 作者:行者123 更新时间:2023-12-03 18:47:51 25 4
gpt4 key购买 nike

我有两个 UIViewController,“A”和“B”,其中“A”覆盖 shouldAutorotateToInterfaceOrientation 以针对 UIInterfaceOrientationPortrait 返回 YES,而“B”则针对所有方向返回 YES。在我的示例中,“A”是根导航 View Controller ,然后我将 PushViewController 用于“B”。之后,我将设备旋转到横向,这成功地自动旋转“B”,然后我弹出“B”(后退按钮或通过 popViewController)返回到“A”。

当以 iPhone OS 3.1.3 为目标平台时,“A”会按预期返回纵向方向。当针对 iPhone OS 3.2 时,我有两个副作用:

  1. “A”横向显示。
  2. 即使现在显示“A”,导航栏也不会更新。导航栏仍然显示“B”的项目。只有在再次尝试返回/弹出一次后,导航栏才会以动画方式显示“A”的项目。如果我尝试再次按下“B”并返回,则必须在导航栏动画显示“A”的项目之前弹出两次。在这些“中间弹出”期间,“A”的 View 保持显示。

在研究这个问题时,我看到其他答案建议手动执行旋转([UIDevice setOrientation] 或通过转换),但这无助于理解问题所在,特别是为什么它在两个操作系统之间的行为不同。

所以我的问题是:UINavigationController 堆栈上的所有 UIViewController 都必须支持完全相同的方向吗?如果没有,那么我需要做些什么才能使其像 OS 3.1.3 那样运行?

最佳答案

看来较新的操作系统要求 UINavigationController 堆栈中的所有 UIViewController 支持相同的方向集。

关于iphone - popViewController 不会自动旋转回允许的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791048/

25 4 0