CALayer – 放置在storyboard UIButton下面的子图层?
我有几个UIButtons在我的故事板中有一个视图控制器。 其中一个激活一个显示在子图层中的AVFoundation相机预览图层:
captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session]; captureVideoPreviewLayer.frame = self.view.bounds; [self.view.layer addSublayer:captureVideoPreviewLayer];
这个工作正常,除了预览层被渲染在我的button之上,所以即使button仍然是可点击的,它们不能被用户看到。 有一个简单的方法来放置button下面的子图层? 或者一个简单的方法来提升图层中的button? 非常感谢!
button图层都是主视图图层的所有子图层。 您需要将相机预览图层放置在button的图层下方。 尝试这个:
// put it behind all other subviews [self.view.layer insertSublayer:captureVideoPreviewLayer atIndex:0]; // or, put it underneath your buttons, as long as you know which one is the lowest subview [self.view.layer insertSublayer:captureVideoPreviewLayer below:lowestButtonView.layer];
只需添加。 您可以通过调用UIView方法bringSubviewToFront在该图层中向上提升UIView的任何子类。
[self.view bringSubviewToFront:self.desiredButton];
- AVCaptureSession VS UIImagePickerController相机预览
- 如何从iPhonevideo录制实时捕捉逐帧图像
- 支持使用AVCaptureSession进行video的后台录制
- 我可以使用AVCaptureSession将AACstream编码到内存吗?
- 防止AVCaptureVideoPreviewLayer旋转,但允许UI层以方向旋转
- 相机冻结时打开的应用程序,而电话正在运行
- AVCam保存全屏捕获的图像
- 如何在使用RTMPStreamPublisher发布video的同时在iPhone上存储video?
- 使用AVCaptureSession录制video时,音乐应用程序(在后台播放)会中断