0

私のアプリは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また、ロード前とロード後の両方でフレームサイズを設定してみました。

これがどのように見えるかです。黒い領域は空で、白い領域はカメラのプレビューです。アプリの一部である白い線のオーバーレイを無視します。 最初のカメラの醜い黒いバーが開いています

4

1 に答える 1

0

さて、これは何の問題もありませんが、これを引き起こしているのはアニメーションでした:はい

に変更[self presentViewController:m_Pickercontroller animated:YES completion:nil] しました[self presentViewController:m_Pickercontroller animated:NO completion:nil]

この問題は修正されました。どうやらiOSはでビューをアニメーション化した後、カメラプレビューのサイズを変更しません。

于 2013-01-30T17:39:06.967 に答える