保留标签栏,但更改特定标签栏项目的视图控制器

时间:2016-01-28 17:22:08

标签: xamarin uitabbarcontroller

努力尝试更改视图控制器已显示在我的一个标签项中。

我有三个标签项,可以显示每个选项卡的视图控制器。

在第三个视图控制器上,按下按钮(ViewController#1)触发QR扫描相机,一旦扫描QR码,然后关闭并使用PresentViewController调用将用户转发到视图控制器(ViewController#2)。

我需要用第二个视图控制器来代替原来的#1,这样Tab项目仍然会显示在底部。这有可能吗?

我目前在ViewController#1上使用的代码显示第二个VC如下所示,它只是在Tab Bar的顶部显示VC,我需要它来实际替换View Controller#1

UIStoryboard board = UIStoryboard.FromName ("Main", null);
VC_DisplayScanResult ctrl = (VC_DisplayScanResult)board.InstantiateViewController ("sbid_vcscanresult");

TabBarMain rootTabBar = (TabBarMain)this.ParentViewController;
rootTabBar.PresentViewController(ctrl, true, null);

我添加了Is it possible to change the actual ViewController on a UITabBarController in Monotouch中描述的解决方案,添加了AppDelegate相关代码等。没有出现错误,但视图控制器也没有发生变化。

我想要实现的目标如下:

  1. 触摸Tab3时,显示ViewController 1
  2. 打开视图控制器1 - 按下按钮,打开相机,扫描QR码,关闭相机并显示View Controller 2。标签3仍然被选中并显示。
  3. 使用上面的代码我有类似的东西,但是显示了View Controller 2,但是它显示为Modal并且是全屏的,没有显示Tab控件。

    Workflow

    我最终想要从第二个开启第三个ViewController。

    我想避免使用Segues进行此工作流程。

0 个答案:

没有答案