我有4个视图控制器假设A,B,C,D。 ViewController D在顶部,点击按钮我必须去ViewController A并删除所有剩下的ViewController。如何实现这个如何从swift3删除所有viewControllers除堆栈之外
1
A
回答
2
self.navigationController.popToRootViewController(animated: true)
0
如果你正在寻找一个viewController在堆栈中。我还添加了代码,如果你找不到,在在堆栈中的堆栈转到mainController或firstController一个控制器:
if let viewControllers = self.navigationController?.viewControllers {
var element_count = 0
for controller in viewControllers {
if controller is YourViewController {
element_count = 1
self.navigationController?.popToViewController(controller, animated: true)
break
}
}
if element_count != 1{
_ = self.navigationController?.popToRootViewController(animated: true)
}
}
+0
这是你在找什么? – Prateekro
0
的UINavigationController
的viewControllers属性get set
财产,这意味着你可以写您自己的视图控制器阵列。
例如,
let VCs = self.navigationController.viewControllers //VCs = [A, B, C, D]
let vcA = VCs[0] //vcA = A
//finally
self.navigationController.viewControllers = [vcA] //done
// OR
self.navigationController.setViewControllers([vcA], animated: true)
相关问题
- 1. popBackStack删除所有堆栈?
- 2. 如何从导航堆栈中删除所有视图?
- 3. 从所有堆栈中删除所有控制器
- 4. 堆栈上的对象意外删除
- 5. iOS:删除堆栈中的所有视图控制器(活动的除外)
- 6. PoptorootViewController失败,然后删除所有ViewControllers
- 7. 如何删除除.gitignore之外的所有git文件
- 8. 如何删除除javascript之外的所有文本?
- 9. 如何删除除wpf之外的所有标签项目?
- 10. Emacs如何删除除“some_text”之外的所有文本?
- 11. 记事本++:如何删除除url之外的所有内容?
- 12. 从UIViewController中删除数据时,从导航堆栈中删除
- 13. 的UINavigationController:如何删除堆栈
- 14. HighCharts删除堆栈总数
- 15. swift3如何删除可选
- 16. 从堆栈面板删除元素
- 17. jQuery从堆栈中删除元素
- 18. 从Presentmodelview删除的UIViewController堆栈
- 19. 从子堆栈中删除Perl模块
- 20. 从导航堆栈中删除网页
- 21. Android:从堆栈中删除活动
- 22. 从堆栈中删除活动
- 23. Xamarin.Forms棱镜从导航堆栈删除视图堆栈
- 24. 无意清除所有后退堆栈
- 25. 如何清除Android中的所有现有活动堆栈
- 26. 防止所有用户删除特定cloudformation堆栈
- 27. 如何从当前页面以外的背面堆栈中删除所有历史记录?
- 28. Javascript - 如何删除单词之间的所有额外空格
- 29. 删除除了一个之外的所有注释引脚
- 30. XSLT - 删除除指定的属性之外的所有属性
您正在使用导航控制器或添加一个孩子控制器? –
请提供更多信息...这是什么“堆栈”? – Alladinian
如果我理解正确,就像[self.navigationController popToRootViewControllerAnimated:YES];应该管用! –