在选项卡之间移动后返回选项卡栏的主ViewController

时间:2016-12-02 14:35:07

标签: ios uiviewcontroller swift2.3

我正在使用Swift 2.3,XCode 8.0开发iOS应用程序。我的应用程序有4个选项卡,每个选项卡 - 连接了4个不同的视图控制器。在4个视图控制器内部,我有嵌入式导航控制器。

我的要求是当用户选择标签1 - >转到ViewController 1 - >接下来,用户可以转到第二视图控制器,因为有一个导航控制器。 但是,当用户选择第二个选项卡然后返回第一个选项卡时,不会显示直接连接到选项卡1的第一个View Controller,而是显示上次使用后退按钮打开的View Controller。 如何直接移动到附加到第一个选项卡的View Controller?

1 个答案:

答案 0 :(得分:0)

嵌入式导航控制器应自动跟踪堆栈,无论用户使用标签栏控制器在哪个选项卡中。确保每个选项卡都嵌入了自己的导航控制器,而不是将整个标签栏控制器嵌入到一个导航控制器中。

例如,如果您以编程方式实现此目的:

    let viewController1 = UIViewController()
    let navigationController1 = UINavigationController()

    navigationController1.setViewControllers([viewController1], animated: true)

    let viewController2 = UIViewController()

    let tabBarController1 = UITabBarController()
    tabBarController1.setViewControllers([navigationController1, viewController2], animated: true)

这里,navigationController1将跟踪哪个viewController在堆栈顶部,无论用户在标签栏控制器中的位置如何。