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

Ios 使用自定义相机创建预览屏幕,ios,camera,overlay,Ios,Camera,Overlay,我正在创建一个应用程序,其中我为相机制作了一个自定义覆盖图。我注意到,当我使用相机的正常默认设置时,会出现一个预览,您可以选择重新拍摄照片或使用它。在使用自定义覆盖图时,是否有一种简单的方式显示屏幕?谢谢 是的。。。。。为此,必须以编程方式创建一个摄影机覆盖视图 然后写下这段代码 //set our custom overlay view imagePickerController.cameraOverlayView = overlayView; imagePickerC

我正在创建一个应用程序,其中我为相机制作了一个自定义覆盖图。我注意到,当我使用相机的正常默认设置时,会出现一个预览,您可以选择重新拍摄照片或使用它。在使用自定义覆盖图时,是否有一种简单的方式显示屏幕?谢谢

是的。。。。。为此,必须以编程方式创建一个摄影机覆盖视图

然后写下这段代码

   //set our custom overlay view

    imagePickerController.cameraOverlayView = overlayView;
    imagePickerController.showsCameraControls = NO;
要在相机屏幕上显示叠加视图,请使用上述代码。对于添加覆盖视图,无需使用addSubView方法

当您使用普通相机时,默认情况下,屏幕上会出现“取消”按钮、“使用”、“Ratake”和“相机反转”按钮。 如果你想做showsCameraControls“不”。那么这些按钮就不会来了。然后,您必须以编程方式在摄影机覆盖视图上添加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;
        }
    }
对于摄影机覆盖示例,请打开下面的链接


它对我有用。。。我希望它也适用于您。

@AJ.SIf如果您对答案有任何疑问,请询问…?谢谢!我刚刚意识到我可以自己制作按钮和屏幕,我非常感谢你的帮助!!当从我的覆盖显示UIViewController时,我得到这样一个结果:不建议在分离的视图控制器上显示视图控制器。从覆盖显示视图控制器的最佳方式是什么?@LukeIrvin在IOS 10中的InCameroverLayView flashmode按钮不工作,当打开显示摄像头控件的标志时,它工作正常,但如果没有摄像头控件,它就不工作。。这是我的问题,任何帮助都是值得的