29

我的情节提要中有一个带有几个 UIButton 的视图控制器。其中一个激活子层中显示的 AVFoundation 相机预览层:

captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
captureVideoPreviewLayer.frame = self.view.bounds;
[self.view.layer addSublayer:captureVideoPreviewLayer];

这可以正常工作,除了预览层呈现在我的按钮之上,因此即使按钮仍然可点击,用户也无法看到它们。有没有一种简单的方法可以将子图层放置在按钮下方?或者一种简单的方法来提高图层中的按钮?非常感谢!

4

2 回答 2

55

按钮层都是主视图层的子层。您需要将相机预览图层放在按钮图层的下方。尝试这个:

// 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];
于 2013-04-16T17:56:08.633 回答
3

只是补充。您可以通过调用UIView方法带来任何 UIView 的子类。

[self.view bringSubviewToFront:self.desiredButton];
于 2014-03-05T09:10:28.500 回答