Ios 当我将AVCaptureVideoPreviewLayer添加到UIView时,UIButton消失
我已将视图添加到我的viewcontroller中,并在Interface builder中将记录按钮添加到我的视图中。通过编程,我初始化Ios 当我将AVCaptureVideoPreviewLayer添加到UIView时,UIButton消失,ios,uiview,uibutton,Ios,Uiview,Uibutton,我已将视图添加到我的viewcontroller中,并在Interface builder中将记录按钮添加到我的视图中。通过编程,我初始化AVCaptureVideoPreview层并将其添加到我的view.layer。一旦我跑了,我看到摄像机在我的屏幕上工作,但没有按钮。我必须使用[myView addSubview:self.record]添加按钮,然后才能看到它。我检查了界面生成器,按钮是不透明的,但在代码中添加它之前,它仍然不会显示 有什么想法吗 非常感谢您的帮助。这是因为您正在视图控制
AVCaptureVideoPreview
层并将其添加到我的view.layer
。一旦我跑了,我看到摄像机在我的屏幕上工作,但没有按钮。我必须使用[myView addSubview:self.record]
添加按钮,然后才能看到它。我检查了界面生成器,按钮是不透明的,但在代码中添加它之前,它仍然不会显示
有什么想法吗
非常感谢您的帮助。这是因为您正在视图控制器的viewDidLoad中添加AVCaptureVideoPreviewLayer,其中IB中的所有视图都已加载,因此它涵盖了UIButton-您正在当前层的顶部添加此层(使用故事板/界面生成器中的视图)。解决方案是为AVCaptureVideoPreviewLayer创建一个容器,并将其添加为容器的子层。您的按钮和容器视图必须是视图层次结构中的同级。此外,按钮必须放在容器顶部
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[self.containerView.layer addSublayer:captureVideoPreviewLayer];
这是序列图像板中的视图层次结构:
使用layer.insertSublayer(…,上面:…)将层插入视频层上方
这里有一些关于Swift如何在视频流顶部插入图像的更详细说明