0

首先,我的代码并不复杂——实际上它只是“iPhone 开发入门:探索 iPhone SDK”中的两个示例程序,合并为一个程序。我使用了在蓝色视图和黄色视图之间切换的 ViewSwitcher 应用程序,并将 YellowViewController 替换为相机应用程序中的 CameraViewController。

我总共有三个 ViewController。SwitchViewController 只是在 BlueViewController 和 CameraViewController 之间切换。

在 CameraViewController 内部,我正在尝试使用 UIImagePickerController 来选择图像。选择器显示为 presentModalViewController。问题是我想在横向上执行此操作。

在 2.2.1 下一切正常,在 3.0 纵向模式下一切正常。

然而,在横向的 3.0 中,事情就中断了。如果我将 SwitchViewController 设置为横向,当我尝试呈现选择器时我的屏幕会变白。如果我旋转 iPhone 几次,我可以看到选择器的一角,这显然是在屏幕外显示的。

如果我将 CameraViewController 设置为横向,则选择器根本不会出现。

我认为这个页面可能有一个线索,当它说“我能看到的 [3.0] 中最显着的变化是模态视图控制器将始终使用应用程序框架而不是父视图控制器的框架。” 不过,我不明白这到底是什么意思。

任何帮助是极大的赞赏。谢谢!

4

2 回答 2

0

您必须addSubview在您的父视图控制器中使用过,尝试使用presentModalViewController:.

于 2009-12-10T06:59:59.250 回答
0

我相信这意味着:模态视图总是使用全屏,即使调用它们的父视图控制器控制的视图只是屏幕的一部分。这对于像相机选择器这样的标准模态视图是有意义的,但我可以理解为什么创建自定义模态视图的人可能希望它更小。

不确定这是否真的有助于解决您的问题。

问题——如果你调出模态视图然后旋转手机会发生什么?

于 2009-08-02T14:37:45.747 回答