私のアプリはiPadのみで、LandscapeViewのみをサポートしています。
UIImagePickerController
カメラをロードするものがあります。次のコードで設定しました。
m_Pickercontroller=[[UIImagePickerController alloc] init ];
m_Pickercontroller.sourceType = UIImagePickerControllerSourceTypeCamera;
m_Pickercontroller.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
m_Pickercontroller.cameraDevice = UIImagePickerControllerCameraDeviceRear;
m_Pickercontroller.showsCameraControls = YES;
m_Pickercontroller.navigationBarHidden = YES;
m_Pickercontroller.toolbarHidden = YES;
m_Pickercontroller.wantsFullScreenLayout = YES;
m_Pickercontroller.allowsEditing=NO;
[self presentViewController:m_Pickercontroller animated:YES completion:nil];
モーダルでも試してみたところ、同じ結果が得られました。
これは、ビューを最初に開いたときにのみ発生します。カメラを再度開くか、写真を撮り直すと、カメラは消えます。
m_Pickercontroller
また、ロード前とロード後の両方でフレームサイズを設定してみました。
これがどのように見えるかです。黒い領域は空で、白い領域はカメラのプレビューです。アプリの一部である白い線のオーバーレイを無視します。