我们可以编程设置显示标签栏时应显示哪个tabar项目?

时间:2016-10-04 06:00:58

标签: ios swift swift2

我正在开发一个包含标签栏的项目。标签栏包含2个名为leave和Od的项目。两者都是普通的viewcontroller类。它们里面有一个表视图(我不是指表视图控制器)。在表视图中单击某个项目时,会出现一个弹出屏幕,其中有一个名为popUpviewController的viewcontroller swift文件。这将显示在表视图中选择的项目的详细信息。问题是,当我解雇popUpdialog时,我总是将选定的tabBar项目作为默认项目。这是它的保留授权。

enter image description here

我所做的是将一个故事板ID提供给标签栏控制器,当它被解雇时从popUp调用它,就像这样。

let viewController:UIViewController = UIStoryboard(name:self.whichSB!, bundle: nil).instantiateViewControllerWithIdentifier("AuthoriseTabBar?") as UIViewController
                    self.tabBarController?.selectedIndex=2  /* DOESN'T WORK OBVIOUSLY*/
                    self.presentViewController(viewController, animated: false, completion: nil)

**标签栏控制器没有任何与之关联的类。我想在item1 popUp被解除时显示项目1(这是它现在是标签栏中显示的默认项目),以及项目2第2项popUp被解雇。**

任何人都可以建议不做上述事情。我没有在这里使用任何导航控制器,是否需要获取tabbar.selectedindex of tab bar

1 个答案:

答案 0 :(得分:0)

您可以从弹出式VC访问标签栏,就像这样。只需使用正常的消除线运行它,如图所示。

if let presentingVC = self.presentingViewController {
        if let tabController = presentingVC.tabBarController {
            tabController.selectedIndex = 0 // Whatever index you want to select.
        }
    }
    self.dismiss(animated: true, completion: nil)