使用自定义相机创建预览屏幕

A.J*_* S. 3 camera overlay ios

我正在创建一个应用程序,我为相机制作了自定义叠加层.我注意到当我使用相机的正常默认值时,会出现预览,您可以选择重新拍摄照片或使用它.在使用自定义叠加层时,是否有一种简单的方法来显示该屏幕?谢谢!

Ana*_*tam 6

是.....为此你必须以编程方式创建一个相机叠加视图.

然后写下这段代码......

   //set our custom overlay view

    imagePickerController.cameraOverlayView = overlayView;
    imagePickerController.showsCameraControls = NO;
Run Code Online (Sandbox Code Playgroud)

要在相机屏幕上显示叠加视图,请使用上面的代码.对于添加叠加视图,无需使用addSubView方法.

当您使用普通相机,然后默认取消按钮,使用,Ratake和相机反向按钮出现在您的屏幕上.如果你将showsCameraControls"NO".然后这些按钮不会来.然后以编程方式,您必须在相机覆盖视图上添加UIButton查看并设置其功能.

在这里,我在相机叠加视图上添加一个按钮.

     //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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

对于相机叠加示例,请打开以下链接.....

https://github.com/anka/bw_examples

相机与自定义视图

它对我有用......我希望它对你也有用.