Ios 将UIImage作为新覆盖的自定义相机视图

Ios 将UIImage作为新覆盖的自定义相机视图,ios,swift,uikit,avfoundation,Ios,Swift,Uikit,Avfoundation,我想做一个自定义的摄像叠加。我想使用覆盖,这是一个模板的图像。但净空间的大小将因手机而异 模板: 我试图创建一个视图作为图像后面的容器。但是拍摄的图像将包括我不想要的部分 self.session = AVCaptureSession() self.session!.sessionPreset = AVCaptureSession.Preset.photo let backCamera = AVCaptureDevice.default(for: AVMediaTyp

我想做一个自定义的摄像叠加。我想使用覆盖,这是一个模板的图像。但净空间的大小将因手机而异

模板:

我试图创建一个视图作为图像后面的容器。但是拍摄的图像将包括我不想要的部分

    self.session = AVCaptureSession()
    self.session!.sessionPreset = AVCaptureSession.Preset.photo

    let backCamera = AVCaptureDevice.default(for: AVMediaType.video)
    var error: NSError?
    var input: AVCaptureDeviceInput!

    do {
        input = try AVCaptureDeviceInput(device: backCamera!)
    } catch let error1 as NSError {
        error = error1
        input = nil
        print(error!.localizedDescription)
    }

    if error == nil && session!.canAddInput(input) {
        session!.addInput(input)
        stillImageOutput = AVCaptureStillImageOutput()
        stillImageOutput?.outputSettings = [AVVideoCodecKey:  AVVideoCodecJPEG]
        if session!.canAddOutput(stillImageOutput!) {
            session!.addOutput(stillImageOutput!)
            videoPreviewLayer = AVCaptureVideoPreviewLayer(session: self.session!)
            videoPreviewLayer!.videoGravity = AVLayerVideoGravity.resizeAspect
            videoPreviewLayer!.connection?.videoOrientation =   AVCaptureVideoOrientation.portrait
            previewView.layer.addSublayer(videoPreviewLayer!)
            session!.startRunning()
       }
    }
    //inviewdidload

    videoPreviewLayer!.frame = previewView.bounds//previewView is uiview behind image
预期结果是,空白区域将成为自定义摄影机视图。另外,iOS 10.0中似乎不推荐使用
AVCaptureStillImageOutput