我有两个uiviewControllers,“ A”和“ B”,其中“ A”覆盖了showerotatetototatoInterfaceorientation以返回uiinterfaceorientationportrait的Yes,并且“ B”返回所有方向。在我的示例“ a”中,是根导航视图控制器,然后我将pushViewController用于“ B”。之后,我将设备旋转到景观中,该景观成功地自动自动座,然后我弹出“ B”(返回按钮或通过PopviewController)返回“ A”。

定位iPhone OS 3.1.3时,“ A”会按预期返回肖像方向。定位iPhone OS 3.2时,我有两个副作用:

  1. “ A”以景观显示。
  2. 即使现在显示“ A”,导航栏也不会更新。导航栏仍然显示“ B”的项目。只有在尝试返回/弹出一次之后,导航栏才能动画显示“ A”的项目。如果我试图再次推动“ B”并回去,我必须弹出 两次 在导航栏动画之前,请显示“ A”的项目。在这些“中间流行音乐”期间,“ A”的视图仍然显示。

在研究这个问题时,我看到了其他答案,暗示手动执行旋转([UIDEVICE SETIRIENTINTION]或通过变形),但是这无助于理解问题是什么,尤其是为什么两者之间的行为不同。

因此,我的问题是:在UinavigationController堆栈上,我的所有UiviewController都必须与未来的方向完全相同吗?如果没有,那么我需要做一些事情才能使它像OS 3.1.3一样行事?

有帮助吗?

解决方案

看来,较新的操作系统需要UinavigationController堆栈中的所有UiviewControllers来支持相同的方向。

其他提示

我有同样的问题,我在此链接上找到了答案: UinavigationController导航堆栈问题在景观模式下 我的视图控制器之一是在waysautorotatetointerfaceorientation上返回是。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top