首页 > 解决方案 > 清除视图控制器的导航堆栈

问题描述

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

let storyboard = UIStoryboard.init(name: "Main", bundle: Bundle.main)
if let tabViewController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as? UITabBarController {
    self.navigationController!.pushViewController(tabViewController, animated: false)
}

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

标签: iosswifttabbarcontroller

解决方案


使您的第一个 viewController 成为您的根视图控制器,然后单击按钮

self.navigationController?.popToRootViewController(animated: true)

推荐阅读