清除视图控制器的导航堆栈

时间:2018-05-28 09:51:24

标签: ios swift tabbarcontroller

  

我有一个带有四个标签的tabBarController。从每个选项卡中,我可以浏览一系列视图控制器。在最后一个视图控制器中,我有一个'完成'按钮,单击我必须重定向到我的初始tabBarController。我目前使用的代码如下(按下按钮)。

Runnable jar

但我觉得这不是正确的方法,因为导航堆栈不断添加。相反,我想清除导航堆栈并在堆栈中显示第一个tabBarController。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

使你的第一个viewController成为你的根视图控制器然后点击按钮

self.navigationController?.popToRootViewController(animated: true)

答案 1 :(得分:0)

我认为设置根控制器可以解决您的问题。

if let window = UIApplication.shared.keyWindow {
   let tabVC = UINavigationController(rootViewController: tabViewController())
   window.rootViewController = tabVC
}

答案 2 :(得分:0)

使用可用方法>>

func popToRootViewController(animated:Bool) - > [UIViewController中]

  
    

此方法清除堆栈并将您置于根视图控制器     请阅读文档以获取详细信息

  

https://developer.apple.com/documentation/uikit/uinavigationcontroller/1621855-poptorootviewcontroller?changes=_4

相关问题