UINavigationController故事板跳跃

时间:2015-12-10 02:38:58

标签: ios uiviewcontroller uinavigationcontroller uitabbarcontroller uistoryboard

我想知道从位于UIViewController UINavigationController的{​​{1}}索引N的UITabBarController遍历故事板到类似嵌入式{ {1}}。

我还希望所有UIViewController都在源UIViewController

中弹出

直接segues(如红色所示)不适合我的用例。

请快点。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以弹出到根视图控制器,然后更改选项卡栏控制器索引的选定索引,然后在另一个导航控制器上推送您需要的任何视图控制器。例如:

    let tabBarController = self.tabBarController;
    let indexZeroNavController:UINavigationController = self.tabBarController?.viewControllers![0] as! UINavigationController

    self.navigationController?.popToRootViewControllerAnimated(true)

    tabBarController?.selectedIndex = 0

    let newViewController = self.storyboard?.instantiateViewControllerWithIdentifier("New View Controller")
    let otherNewViewController = self.storyboard?.instantiateViewControllerWithIdentifier("Other New View Controller")

    indexZeroNavController.pushViewController(newViewController!, animated: true)
    indexZeroNavController.pushViewController(otherNewViewController!, animated: true)

答案 1 :(得分:0)

Beyowulf的方法过去是有效的,但事情已经发生了变化。在你想要弹出的viewController中,定义一个"展开segue"。 example一旦定义,您可以从按钮拖动到"退出"并选择解开segue。

在xcode 7中完全重写了unwind segue工作的方式,因此你不必过于担心视图控制器堆栈。