【发布时间】:2011-03-13 22:27:01
【问题描述】:
我的 iPhone 应用程序在 iPad 上运行时显示一些奇怪的行为,支持方向更改。
应用程序以视图控制器(为了参数而将其称为视图 A)和导航控制器启动,并且 shouldAutorotateToInterfaceOrientation 仅针对纵向返回 YES。在导航控制器上,我推送一个视图控制器(视图 B),该控制器也仅针对纵向返回 YES。然后,我将另一个视图控制器(视图 C)推到支持所有旋转的导航控制器上,并根据要旋转到的方向调整屏幕上的项目。
当它在 iPhone 模拟器和设备上运行时,如果您在视图 C 上旋转到横向,然后点击返回按钮返回到视图 B,它会做正确的事情并将视图 B 切换回纵向模式。 (在模拟器中,它甚至会自动将模拟器旋转回纵向。)
我遇到的问题是,当我在 iPad 模拟器和设备上执行完全相同的事件序列时,出现的视图 B 没有旋转回纵向,导航控制器仍然显示视图 C 的信息. 然后,我点击后退按钮,视图保持不变,但导航控制器显示视图 B 正常(但仍处于横向模式)。然后,如果我再次点击后退按钮,视图 A 将出现在视图 B 导航栏项目下方,最后再次点击后退让我进入视图 A 和导航栏 A 项目。
如果我在 iPad 上查看 B 并开始旋转,shouldAutorotateToInterfaceOrientation 会以 NO 触发,直到我进入纵向模式,然后一切恢复正常。
该应用程序正在使用最新发布的 iPhone SDK 版本构建,构建设置如下:iPhone Simulator 4.0 的 Base SDK、iPhone 的目标设备系列、iPhone OS 3.1.3 的 iPhone OS 部署目标。
有什么想法吗?
【问题讨论】:
-
我这里有完全相同的问题,我相信这是iOS3.2中的一个错误。在我的 iPhone(3.1.2 和 4.0)上,一切都应如此。可悲的是,没有(记录在案的)功能可以手动更改方向。让我们看看其他人在这里要说什么......
标签: iphone ipad uiinterfaceorientation