如何在 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 中调整视图中的子层大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 中调整 UIStackView 的子视图大小?

在 Swift 中剪辑到父视图的子视图

如何将子层与 UIView 一起移动?

如何根据与其添加对应的索引删除子层?

如何在 Swift 的分段控件中调整 textLabel 的大小?

如何保持 CALayer(CATiledLayer 的子层)在缩放后不改变其比例?