0

首先,我的代碼並不複雜 - 實際上它只是兩個來自「Beginning iPhone Development:Exploring the iPhone SDK」的sample programs,合併成一個程序。我使用了ViewSwitcher應用程序,該應用程序在藍色視圖和黃色視圖之間切換,並將YellowViewController替換爲攝像機應用程序中的CameraViewController。presentModalViewController for UIImagePicker在iPhone 3.0的橫向模式下失敗

我有三個ViewControllers總數。 SwitchViewController只是在BlueViewController和CameraViewController之間切換。

Inside CameraViewController,我試圖使用UIImagePickerController來選擇圖像。 picker使用presentModalViewController。問題是我想在橫向方向上做到這一點。

在2.2.1下一切正常,在縱向模式下一切正常工作在3.0。

然而,在3.0的橫向取向下,事情會崩潰。如果我將SwitchViewController設置爲橫向,當我嘗試呈現選取器時,屏幕變白。如果我旋轉iPhone幾次,我可以看到選擇器的一個角落,顯然是在屏幕外顯示的。

如果我將CameraViewController設置爲橫向,picker根本不會彈出。

我認爲this page可能有一條線索,它說:「我可以看到最顯着的變化是,模態視圖控制器將始終使用應用程序框架,而不是父視圖控制器的框架。雖然我不明白這意味着什麼。

任何幫助是極大的讚賞。謝謝!

+0

`iOS 3.x`不再支持,這個問題可能需要關閉。 – darvids0n 2012-01-16 03:10:30

回答

0

我相信這意味着什麼:即使調用它們的父視圖控制器控制只是屏幕一部分的視圖,模式視圖也始終使用全屏。這對標準模態視圖(如照相機選取器)很有意義,但我可以看到爲什麼創建自定義模態視圖的人可能希望它更小。

不知道這是否真的有助於解決您的問題。

問題 - 如果您調出模態視圖然後旋轉手機會發生什麼?

+0

好問題。如果我調出模式視圖,然後旋轉手機,模式視圖將很好地切換到橫向模式。 – niels 2009-08-02 21:15:48

0

您必須在父視圖控制器中使用addSubview,請嘗試使用presentModalViewController: