我正在尝试使用三个选项卡(A,B,C)创建一个tabview项目。选项卡A和C是表视图控制器,它们运行良好。选项卡B我想制作一个将使用AVCaptureSession使用相机的ViewController。我的问题是如何让Tab B在tabview上以模态方式显示相机?
答案 0 :(得分:0)
你可以在viewDidLoad
或viewWillAppear
中展示没有动画的任何模态控制器。
UIViewController *vc = [[UIViewController alloc] init];
vc.view.frame = [[UIScreen mainScreen] bounds];
vc.view.backgroundColor = [UIColor purpleColor]; // for testing
[self presentViewController:vc animated:NO completion:nil];
在该视图控制器中,您可以执行任何操作,包括启动AVCaptureSession。
为了返回先前选择的标签控制器,有几个选项。
一种是在关闭模态视图控制器时切换到所需的选项卡。假设它有一个名为lastTab
的属性或ivar:
self.tabBarController.selectedViewController
= [self.tabBarController.viewControllers objectAtIndex:lastTab];
另一种方法是永远不要使用模态视图实际激活选项卡,而是直接从其他选项卡启动模态视图控制器。另一个视图控制器可以将选定的选项卡设置回自身,然后启动模态视图。