如何在 Swift 中调整视图中的子层大小?

Posted

技术标签:

【中文标题】如何在 Swift 中调整视图中的子层大小?【英文标题】:How to resize a sublayer in view with in Swift? 【发布时间】:2014-07-10 20:55:47 【问题描述】:

我与 AVfoundation 有一个会话来录制视频和拍照,而这个会话是必要的添加到视图中以显示这一点。我用这段代码添加这个:

 var previewLayer: AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer.layerWithSession(self.session) as AVCaptureVideoPreviewLayer

  previewLayer.frame = self.imagePreview.bounds
    self.imagePreview.layer.addSublayer(previewLayer)

imagePrevw 是 UIView。

添加正确,但会话摄像头仅显示在部分视图中,如何在所有视图中显示?

我添加图片来显示问题和我想要的:

【问题讨论】:

【参考方案1】:

我认为帧是正确的,但我认为你应该像这样设置 videoGravity:

previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

【讨论】:

以上是关于如何在 Swift 中调整视图中的子层大小?的主要内容,如果未能解决你的问题,请参考以下文章