我的 iPhone 应用程序在 iPad 上运行时显示了一些奇怪的行为,涉及支持方向变化的问题。
该应用程序启动时带有一个视图控制器(称其为视图 A),以及导航控制器,并且 shouldAutorotateToInterfaceOrientation 仅返回肖像模式。然后,我将另一个视图控制器(视图 B)推到导航控制器上,它也仅返回肖像模式。接下来,我将另一个支持所有旋转并根据要旋转的方向调整屏幕上项目的视图控制器(视图 C)推到导航控制器上。
当在 iPhone 模拟器和设备上运行时,如果您在视图 C 上旋转到横向,然后点击返回按钮返回到视图 B,则会执行正确的操作,并将视图 B 切换回纵向模式。(在模拟器上,它甚至会自动将模拟器旋转回纵向。)
我遇到的问题是,在 iPad 模拟器和设备上执行完全相同的事件序列时,出现的视图 B 没有旋转回纵向,导航控制器仍显示视图 C 的信息。然后,我点击返回按钮,视图保持不变,但导航控制器显示视图 B 的正常状态(但仍处于横向模式)。然后,如果我再次点击返回按钮,视图 A 就会出现在视图 B 的导航栏项目下面,最后再次点击返回按钮将我放在视图 A 上,带有导航栏 A 项目。
如果我在 iPad 上转到视图 B 并开始旋转,则 shouldAutorotateToInterfaceOrientation 会发出 NO,直到我达到纵向模式,然后一切恢复正常。
该应用程序使用 iPhone SDK 的最新发布版本构建,并具有以下构建设置:iPhone 模拟器 4.0 的基本 SDK,iPhone 的目标设备系列,iPhone OS 3.1.3 的 iPhone OS 部署目标。
有任何想法吗?
该应用程序启动时带有一个视图控制器(称其为视图 A),以及导航控制器,并且 shouldAutorotateToInterfaceOrientation 仅返回肖像模式。然后,我将另一个视图控制器(视图 B)推到导航控制器上,它也仅返回肖像模式。接下来,我将另一个支持所有旋转并根据要旋转的方向调整屏幕上项目的视图控制器(视图 C)推到导航控制器上。
当在 iPhone 模拟器和设备上运行时,如果您在视图 C 上旋转到横向,然后点击返回按钮返回到视图 B,则会执行正确的操作,并将视图 B 切换回纵向模式。(在模拟器上,它甚至会自动将模拟器旋转回纵向。)
我遇到的问题是,在 iPad 模拟器和设备上执行完全相同的事件序列时,出现的视图 B 没有旋转回纵向,导航控制器仍显示视图 C 的信息。然后,我点击返回按钮,视图保持不变,但导航控制器显示视图 B 的正常状态(但仍处于横向模式)。然后,如果我再次点击返回按钮,视图 A 就会出现在视图 B 的导航栏项目下面,最后再次点击返回按钮将我放在视图 A 上,带有导航栏 A 项目。
如果我在 iPad 上转到视图 B 并开始旋转,则 shouldAutorotateToInterfaceOrientation 会发出 NO,直到我达到纵向模式,然后一切恢复正常。
该应用程序使用 iPhone SDK 的最新发布版本构建,并具有以下构建设置:iPhone 模拟器 4.0 的基本 SDK,iPhone 的目标设备系列,iPhone OS 3.1.3 的 iPhone OS 部署目标。
有任何想法吗?