我正在尝试添加一个需要在堆栈顶部显示的子层(UINaviationController),它显示正常,但是当我尝试解除视图时我无法使其正常工作,它要么解散了整个UINavigtioncontroller并杀死整个堆栈,它只是删除部分视图并在顶部留下黑屏。
我需要的是我的subView显示在堆栈顶部,并且能够在调用我的委托之后从堆栈中POP它
代码如下
在此处创建子视图
- (IBAction)transactionListViewCameraBtn_Pressed:(id)sender {
if([NWTillHelper isDebug] == 1) {
NSLog(@"%s entered", __PRETTY_FUNCTION__);
}
self.capture = [[ZXCapture alloc] init];
self.capture.camera = self.capture.back;
self.capture.focusMode = AVCaptureFocusModeContinuousAutoFocus;
[self.view.layer addSublayer:self.capture.layer];
[self.view bringSubviewToFront:self.scanRectView];
[self.view bringSubviewToFront:self.decodedLabel];
self.capture.delegate = self;
[self applyOrientation];
}
这就是我试图用来再次关闭subView但没有一个工作
[self.view removeFromSuperview];
//[self dismissViewControllerAnimated:YES completion:nil];
//[[self navigationController] popViewControllerAnimated:YES];
//[self removeFromParentViewController];
我一定错过了什么但是什么?
答案 0 :(得分:3)
您需要删除捕获图层并隐藏scanRectView
。
尝试以下代码:
self.scanRectView.hidden = YES;
[self.capture.layer removeFromSuperlayer];