我有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. MEAN堆棧刪除
- 6. 堆棧上的對象意外刪除
- 7. 如何正確刪除所有活動堆棧?
- 8. iOS:刪除堆棧中的所有視圖控制器(活動的除外)
- 9. PoptorootViewController失敗,然後刪除所有ViewControllers
- 10. removeFromParentViewController從堆棧中刪除所有視圖控制器
- 11. 如何刪除除javascript之外的所有文本?
- 12. SQLite如何刪除除一個之外的所有重複行?
- 13. wordpress htaccess如何刪除除index.php之外的所有php擴展
- 14. Emacs如何刪除除「some_text」之外的所有文本?
- 15. 如何刪除除wpf之外的所有標籤項目?
- 16. 記事本++:如何刪除除url之外的所有內容?
- 17. 如何刪除除.gitignore之外的所有git文件
- 18. 從UIViewController中刪除數據時,從導航堆棧中刪除
- 19. 從字符串中刪除除尾0之外的所有0
- 20. 的UINavigationController:如何刪除堆棧
- 21. swift3如何刪除可選
- 22. 從navigationcontroller viewControllers數組中刪除額外的viewcontrollers
- 23. 刪除項目堆棧
- 24. HighCharts刪除堆棧總數
- 25. 從子堆棧中刪除Perl模塊
- 26. 從堆棧中刪除活動
- 27. jQuery從堆棧中刪除元素
- 28. Android:從堆棧中刪除活動
- 29. 從堆棧內存中刪除結構
- 30. 從堆棧面板刪除元素
您正在使用導航控制器或添加一個孩子控制器? –
請提供更多信息...這是什麼「堆棧」? – Alladinian
如果我理解正確,就像[self.navigationController popToRootViewControllerAnimated:YES];應該管用! –