从TabView模式显示ViewController

时间:2013-11-10 17:34:43

标签: objective-c modalviewcontroller tabview

我正在尝试使用三个选项卡(A,B,C)创建一个tabview项目。选项卡A和C是表视图控制器,它们运行良好。选项卡B我想制作一个将使用AVCaptureSession使用相机的ViewController。我的问题是如何让Tab B在tabview上以模态方式显示相机?

1 个答案:

答案 0 :(得分:0)

你可以在viewDidLoadviewWillAppear中展示没有动画的任何模态控制器。

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

另一种方法是永远不要使用模态视图实际激活选项卡,而是直接从其他选项卡启动模态视图控制器。另一个视图控制器可以将选定的选项卡设置回自身,然后启动模态视图。