我遵循了使用AvFoundation Framework拍照的教程。 所以我并不精通它......这就是一点。
在应用程序中......在笔尖中。 有一个视图(SUBVIEW)作为主视图(MAINVIEW)的子视图。 并且有一个图像视图和按钮作为子视图View(SUBVIEW)的子视图而不是主视图。
教程中有代码(对于子视图)
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[self.vImagePreview.layer addSublayer:captureVideoPreviewLayer];
但是应用了这个之后,图像视图出现在SUBVIEW的后面,而不是在它前面,因为它应该在笔尖中。 因此,如何在视图前面显示图像视图.vimagepreview是SUBVIEW
答案 0 :(得分:1)
答案 1 :(得分:1)
尝试以编程方式创建新视图,添加图层,然后将视图添加到子视图中。
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
UIView *newView = [[UIView alloc] initWithFrame:SUBVIEW.bounds];
[newView.layer addSublayer: captureVideoPreviewLayer];
[SUBVIEW addSubview: newView];
这应该确保图层位于子视图之上。
答案 2 :(得分:1)
这适用于iOS7和iOS8。
[videoPreviewLayerParentView.layer insertSublayer:videoPreviewLayer atIndex:0];
[videoPreviewLayerParentView.layer insertSublayer:aboveView.layer atIndex:1];
答案 3 :(得分:0)
尝试重新排序z-index:
//subview to go infront
frontView.layer.zPosition = 100
//layer to go to back
backLayer.zPosition = 0