3

カメラ用のカスタムオーバーレイを作成したアプリを作成しています。カメラの通常のデフォルトを使用すると、写真を撮り直すか使用するかを選択できるプレビューが表示されることに気付きました。カスタム オーバーレイを操作するときにその画面を表示する簡単な方法はありますか? ありがとう!

4

1 に答える 1

6

はい.....これには、プログラムでカメラオーバーレイビューを1つ作成する必要があります。

そして、このコードを書きます...

   //set our custom overlay view

    imagePickerController.cameraOverlayView = overlayView;
    imagePickerController.showsCameraControls = NO;

カメラ画面にオーバーレイ ビューを表示するには、上記のコードを使用します。オーバーレイ ビューを追加するには、addSubView メソッドを使用する必要はありません。

通常のカメラを使用する場合、デフォルトでキャンセル ボタン、使用、Ratake、カメラ反転ボタンが画面に表示されます。そして、showCameraControls を "NO" にする場合。その後、これらのボタンは来ません。次に、プログラムでカメラ オーバーレイ ビューに UIButton を追加し、その機能を設定する必要があります。

ここでは、カメラ オーバーレイ ビューにボタンを 1 つ追加しています。

     //add Camera Reverse button to the overlay view.

    UIButton *btnCamReverse = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [btnCamReverse setBackgroundImage:[UIImage imageNamed:@"image.png"]   
                                                 forState:UIControlStateNormal];

    //set the frame
    CGRect btnCamReverseFrame = CGRectMake(400, 250, 50, 50);
    btnCamReverse.frame = btnCamReverseFrame;

    [btnCamReverse addTarget:self
                  action:@selector(onClickButtonCamReverse:)
        forControlEvents:UIControlEventTouchUpInside];

    [overlayView addSubview:btnCamReverse];



    //IBAction (for switching between front and rear camera).

    -(IBAction)onClickButtonCamReverse:(id)sender
    {
      if(imagePickerController.cameraDevice == UIImagePickerControllerCameraDeviceFront)
        {
          imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
        }
      else 
        {
          imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
        }
    }

カメラ オーバーレイの例については、以下のリンクを開いてください.....

https://github.com/anka/bw_examples

カスタムビュー付きカメラ

それは私にとってはうまくいきました...あなたにもうまくいくことを願っています。

于 2013-06-05T10:42:48.997 に答える