ios - 清除视图控制器的导航堆栈
问题描述
我有一个带有四个选项卡的 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。我该如何解决这个问题?
解决方案
使您的第一个 viewController 成为您的根视图控制器,然后单击按钮
self.navigationController?.popToRootViewController(animated: true)
推荐阅读
- imagenet - 如何获取用于分类挑战的 ImageNet ILSVRC 2012 数据?
- c# - 如何使文本出现在 C# 的 onmousedown 冲突中
- c# - 从 Xamarin Forms 调用的 GetStringAsync 挂起(使用模拟器)
- python - 在 python 中使用 min/max 函数比较两个浮点值列表
- regex - Prometheuse 的域正则表达式
- javascript - 从 Firebase 存储中检索图像以显示在组件中
- r - 如何使用 R 创建新的 ID 列
- algorithm - 给定 n 个重叠的多边形,如何获得以最少的多边形数量提供最多覆盖的集合
- android - 具有不同类型数据的可变列表
- angular - 有没有办法在 websocket 连接中捕获关闭事件?