1

我正在尝试创建一个带有三个选项卡(A、B、C)的 tabview 项目。选项卡 A 和 C 是工作良好的表格视图控制器。Tab BI 想要制作一个 ViewController,它将使用 AVCaptureSession 来使用相机。我的问题是如何让 Tab B 在 tabview 上模态显示相机?

4

1 回答 1

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。

为了返回之前选择的选项卡控制器,有几个选项。

一种是在关闭模式视图控制器时切换到所需的选项卡。假设它有一个名为的属性或 ivar lastTab

self.tabBarController.selectedViewController 
  = [self.tabBarController.viewControllers objectAtIndex:lastTab];

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

于 2013-11-10T18:48:48.867 回答