-->

CALayer的 - 下面的故事板UIButtons地点子?(CALayer - Place sub

2019-08-31 07:48发布

我有我的故事板视图控制器与几个UIButtons。 他们中的一个激活一个子层中所示的AVFoundation相机预览层:

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

这正常工作不同的是,预览层呈现在我的按钮的顶部,这样即使按钮仍然可点击它们不能被用户看到的事实。 有没有一种简单的方法来放置按钮下面的子? 或一个简单的方法,提高了按钮的层? 谢谢了!

Answer 1:

按钮层是主视图的层的所有子层。 你需要把按钮的图层的下方你的摄像头预览层。 试试这个:

// 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];


Answer 2:

我想补充。 你可以通过调用UIView的方法bringSubviewToFront提高的UIView的任何子类最多的层。

[self.view bringSubviewToFront:self.desiredButton];


文章来源: CALayer - Place sublayer below storyboard UIButtons?