我的故事板里有一个带有几个UIButton的视图控制器。其中一个激活子图层中显示的AVFoundation相机预览图层:
captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
captureVideoPreviewLayer.frame = self.view.bounds;
[self.view.layer addSublayer:captureVideoPreviewLayer];
除了预览图层在我的按钮上呈现这一事实之外,这是正常的,因此即使按钮仍然可以点击,用户也无法看到它们。有没有一种简单的方法将子图层放在按钮下面?或者在图层中提升按钮的简单方法?非常感谢!
答案 0 :(得分:50)
按钮图层是主视图图层的所有子图层。您需要将相机预览图层放在按钮的图层下方。试试这个:
// 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];
答案 1 :(得分:3)
只是添加。您可以通过调用 UIView 方法 bringSubviewToFront 来提升层中UIView的任何子类。
[self.view bringSubviewToFront:self.desiredButton];