如何使用insertSublayer固定AVCaptureVideoPreview的位置

时间:2019-04-16 19:37:36

标签: swift avcapturesession

我正在尝试设置相机应用程序,但是当尝试在图层上创建预览时,它会将相机预览在调用insertSubLayer的图层上下移。

我尝试了不同大小的图层,问题是相同的。

这是生成预览层的代码。

let captureSession = self.captureSession
    guard captureSession!.isRunning else {
        throw CameraControllerError.captureSessionIsMissing
    }        
    self.previewLayer = AVCaptureVideoPreviewLayer(session: captureSession!)
    self.previewLayer?.videoGravity = AVLayerVideoGravity.resizeAspectFill
    self.previewLayer?.connection?.videoOrientation = .portrait

    view.layer.insertSublayer(self.previewLayer!, at: 0)
    self.previewLayer?.frame = view.frame

查看图片以查看发生了什么。

https://ibb.co/sH69BK6

insertSubLayer调用之前的图层背景为灰色,之后也可以看到。

这是情节提要在XCode上的样子

https://ibb.co/37PCkPB

0 个答案:

没有答案