无法使用故事板在 AVCaptureVideoPreviewLayer 上添加视图?
No way to add a view over a AVCaptureVideoPreviewLayer using StoryBoard?
我在 SO 上看到了关于此的其他问题,但我的不同,因为我正在寻找使用以前使用故事板创建的结构的解决方案。
我需要 StackView
在 AVCaptureVideoPreviewLayer 上。
我有这样的看法:
我需要创建一个 AVCaptureVideoPreviewLayer
,将此图层置于您在上一张图片中看到的 Stack Control
下方。
我的 AVCaptureVideoPreviewLayer
是这样创建的:
let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer.videoGravity = .resizeAspectFill
cameraPreviewLayer.connection?.videoOrientation = .portrait
cameraPreviewLayer.frame = view.frame
view.layer.insertSublayer(cameraPreviewLayer, at: 0)
但是为了确保在当前位置创建图层,我在 Stack Control
下面创建了这个 Preview View
(见图)。
想法是将 AVCaptureVideoPreviewLayer
添加到该视图。
因此,我将代码更改为:
let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer.videoGravity = .resizeAspectFill
cameraPreviewLayer.connection?.videoOrientation = .portrait
cameraPreviewLayer.frame = view.frame
previewView.layer.insertSublayer(cameraPreviewLayer, at: 0)
也试过
previewView.layer.addSublayer(cameraPreviewLayer)
不可能,预览显示正常,但 Stack Control
不存在。如果我不插入 AVCaptureVideoPreviewLayer
.
,我会看到堆栈
有什么想法吗?
你需要做的是,
获取 AVCapturePreviewLayer,并将其作为子层添加到 PreviewView。
PreviewView.layer.addSublayer(cameraPreviewLayer)
将预览视图作为子视图添加到父视图
view.addSubview(预览视图)
并将 StackControl 作为子视图添加到父视图
view.addSubview(堆栈控制)
我在 SO 上看到了关于此的其他问题,但我的不同,因为我正在寻找使用以前使用故事板创建的结构的解决方案。
我需要 StackView
在 AVCaptureVideoPreviewLayer 上。
我有这样的看法:
我需要创建一个 AVCaptureVideoPreviewLayer
,将此图层置于您在上一张图片中看到的 Stack Control
下方。
我的 AVCaptureVideoPreviewLayer
是这样创建的:
let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer.videoGravity = .resizeAspectFill
cameraPreviewLayer.connection?.videoOrientation = .portrait
cameraPreviewLayer.frame = view.frame
view.layer.insertSublayer(cameraPreviewLayer, at: 0)
但是为了确保在当前位置创建图层,我在 Stack Control
下面创建了这个 Preview View
(见图)。
想法是将 AVCaptureVideoPreviewLayer
添加到该视图。
因此,我将代码更改为:
let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer.videoGravity = .resizeAspectFill
cameraPreviewLayer.connection?.videoOrientation = .portrait
cameraPreviewLayer.frame = view.frame
previewView.layer.insertSublayer(cameraPreviewLayer, at: 0)
也试过
previewView.layer.addSublayer(cameraPreviewLayer)
不可能,预览显示正常,但 Stack Control
不存在。如果我不插入 AVCaptureVideoPreviewLayer
.
有什么想法吗?
你需要做的是,
获取 AVCapturePreviewLayer,并将其作为子层添加到 PreviewView。
PreviewView.layer.addSublayer(cameraPreviewLayer)
将预览视图作为子视图添加到父视图
view.addSubview(预览视图)
并将 StackControl 作为子视图添加到父视图
view.addSubview(堆栈控制)