まず第一に、私のコードは複雑ではありません。実際、「iPhone開発の開始:iPhoneSDKの探索」の2つのサンプルプログラムを1つのプログラムにまとめただけです。青いビューと黄色のビューを切り替えるViewSwitcherアプリケーションを使用して、YellowViewControllerをカメラアプリケーションのCameraViewControllerに置き換えました。
合計3つのViewControllerがあります。SwitchViewControllerは、BlueViewControllerとCameraViewControllerを切り替えるだけです。
CameraViewController内で、UIImagePickerControllerを使用して画像を選択しようとしています。ピッカーにはpresentModalViewControllerが表示されます。キャッチは、私がこれを横向きでやりたいということです。
2.2.1ではすべてが正常に機能し、ポートレートモードの3.0ではすべてが正常に機能します。
ただし、横向きの3.0では、問題が発生します。SwitchViewControllerを横向きに設定すると、ピッカーを表示しようとすると画面が白くなります。iPhoneを数回転すと、ピッカーの角が見えますが、これは明らかに画面外に表示されていました。
CameraViewControllerを横向きに設定すると、ピッカーがまったく表示されません。
このページには、「[3.0で]最も顕著な変更点は、モーダルビューコントローラーが常に親ビューコントローラーのフレームではなくアプリケーションフレームを使用することです」という手がかりがあると思います。しかし、それが何を意味するのか正確にはわかりません。
どんな助けでも大歓迎です。ありがとう!