【问题标题】:Creating A Preview Screen With A Custom Camera使用自定义相机创建预览屏幕
【发布时间】:2013-06-05 18:49:34
【问题描述】:

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

【问题讨论】:

    标签: ios camera overlay


    【解决方案1】:

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

    然后写下这段代码……

       //set our custom overlay view
    
        imagePickerController.cameraOverlayView = overlayView;
        imagePickerController.showsCameraControls = NO;
    

    要在相机屏幕上显示叠加视图,请使用上述代码。添加覆盖视图无需使用 addSubView 方法。

    当您将使用普通相机时,默认情况下取消按钮、使用、Ratake 和相机反转按钮会出现在您的屏幕上。 如果您将 showCameraControls 设为“否”。那么这些按钮就不会出现。然后,您必须以编程方式在相机叠加视图上添加 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;
            }
        }
    

    对于相机覆盖示例,请打开以下链接.....

    https://github.com/anka/bw_examples

    Camera with Custom View

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

    【讨论】:

    • @AJ.S如果您对答案有任何疑问,请询问...?
    • 谢谢!我现在才意识到我可以自己制作按钮和屏幕,感谢您的帮助!
    • 当从我的叠加层呈现 UIViewController 时,我得到这个:不鼓励在分离的视图控制器上呈现视图控制器。从叠加层呈现视图控制器的最佳方式是什么?
    • @LukeIrvin 在 IOS 10 中的cameroverlayview flashmode 按钮不起作用,当打开显示相机控件的标志时,它工作正常但没有相机控制它不起作用.. 这是我的问题,任何帮助都会很明显stackoverflow.com/questions/40416737/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多