2017-04-05 43 views
1

我手动创建AVCaptureVideoPreviewLayer(一类的CALayer)一旦AVCaptureSession开始运行,并增加它的UIView如下:AVCaptureVideoPreviewLayer自转

func captureSessionStartedRunning(session:AVCaptureSession?) { 
    if let captureSession = session { 
     if let previewLayer = AVCaptureVideoPreviewLayer.init(session: captureSession) { 
      previewLayer.frame = self.view.bounds 
      self.view.layer.addSublayer(previewLayer) 
      previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 
     } 
    } 
} 

我没有经历过与自转与大小级,那么有人可以告诉我什么是在这里处理自转的最简单方法吗?

回答

1

覆盖:

override func viewWillLayoutSubviews() { 
    super.viewWillLayoutSubViews() 
    previewLayer.frame = self.view.bounds 
} 

每当你的看法布局变化,它会更新该层的大小是视图的大小。

您可能还想将预览图层的.videoGravity更改为.aspectFill

相关问题