Пользовательский AVCaptureVideoPreviewLayer не просматривает полноэкранный режим в своем UIView - PullRequest
0 голосов
/ 27 марта 2020

Это мой пользовательский класс:

class PreviewView: UIView {

var videoPreviewLayer: AVCaptureVideoPreviewLayer {
    guard let layer = layer as? AVCaptureVideoPreviewLayer else {
        fatalError("Expected `AVCaptureVideoPreviewLayer` type for layer. Check PreviewView.layerClass implementation.")
    }
    return layer
}

var session: AVCaptureSession? {
    get {
        return videoPreviewLayer.session
    }
    set {
        videoPreviewLayer.session = newValue
    }
}

override class var layerClass: AnyClass {
    return AVCaptureVideoPreviewLayer.self
    }
}

У меня есть UIView на моей раскадровке с 0, 0, 0, 0. Однако AVCaptureVideoPreviewLayer все еще изменяет размер до (я не знаю, где числа исходя из) меньшего числа. Я хочу, чтобы AVCaptureVideoPreviewLayer изменял размер в полноэкранный режим. Как я могу достичь этого в моем специальном классе?

Редактировать Решение:

override func layoutSubviews() {
    self.videoPreviewLayer.bounds = self.bounds
    self.videoPreviewLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...