Как исправить положение AVCaptureVideoPreview с помощью insertSublayer - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь настроить приложение камеры, но при попытке создать предварительный просмотр на слое, он сдвигает предварительный просмотр камеры на слой, где вызывается 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

...