更改为不同选项卡swift中的视图控制器?

时间:2015-05-22 23:45:07

标签: ios swift uitabbarcontroller

我正试图转向不是Root VC的VC。

@IBAction func composeJournalTapped(sender: AnyObject) {
    self.tabBarController?.selectedIndex = 2

    let journalVC = self.storyboard?.instantiateViewControllerWithIdentifier("JournalEntryTableViewController") as! JournalEntryTableViewController

    self.navigationController?.pushViewController(journalVC, animated: true)


}

我知道明显的答案是向该VC发送push segue,但这不会切换标签。我想切换标签,并切换到该选项卡中不是根的viewController。上面的代码严格切换标签。换句话说,我想从索引1切换到索引2,然后将segue从索引2 rootVC推送到destinationVC。

1 个答案:

答案 0 :(得分:1)

所以你需要能够做你想要的代码。如果选项卡栏控制器中的第二个选项卡是导航控制器,则将其强制转换为适当的类型并实现一个界面,使您可以显示相应的视图控制器。

我无法告诉您如何执行此操作的详细信息,因为我不知道您应用的结构。问题的VC是否已经在标签2的导航堆栈上?它总是不会在堆栈上,所以推送segue是正确的做法吗?两种情况都有可能吗?您需要绘制处理所有可能情况的案例和设计代码。