1

シナリオ

Front camera3秒のカウントダウン後に自動的に画像をキャプチャするアプリ。すべてが期待どおりに機能しています。

コード

//のviewDidLoad

 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
    imagePicker = [[UIImagePickerController alloc] init];
        self.imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;
self.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
self.imagePicker.delegate = self;
self.imagePicker.showsCameraControls = NO;
[self.imagePicker.view setFrame:kAppFrame];
[self.view addSubview:self.imagePicker.view];
[self.view bringSubviewToFront:self.imagePicker.view];
}

問題 私はiPadにリアデバイスを使用するように言ったことがありませんそれでも場合によってはリアカメラが起動します。

再現する手順

  1. カメラを持ってLandscape orientation
  2. 写真をクリックします(Navコントローラーを押して次の画面に移動します)
  3. 次の画面で、iPadを半分に傾けますface up orientation
  4. カメラ画面に戻ると、リアカメラを使用して表示されます。

これは非常に奇妙な振る舞いであり、その原因を理解することすらできません。

4

2 に答える 2

0

解決策を見つけたようです。コード全体をviewWillAppearfromviewDidLoadメソッドに移動するだけです。

それが特定の方向で現れる前に、私はビューに多くを頼っていたように見えました。コードを挿入するviewWillAppearことで、ビューが実際に向きを設定して準備ができていることが保証されました。これで何でも載せることができます。

私はこれが正しい答えではないことを知っていますが、これは私がシナリオから作ったものです。どんな修正/修正も大歓迎です。

于 2012-09-23T19:07:59.017 に答える
0

コードを確認してself.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront; 、デバイスのフロントバメラを開くことを定義する行を確認してください。

次に、2番目の問題があります。わかりませんが、画像を90度回転させる必要があります。それはあなたが画像を取得するときそれがポートレートモードで取得するかもしれません。

于 2012-07-18T06:46:01.657 に答える