我有一個視圖控制器作爲我的初始視圖控制器。 有一個按鈕(GO按鈕),當用戶點擊時,它應該去另一個視圖控制器(我們稱之爲目標視圖控制器與標籤'這是我想去')。同時我想通過一個Tabbar控制器。原因是我想我的導航堆棧中有tabbar,當用戶在目標視圖控制器上按下時,它必須轉到tabbar控制器。圖片顯示了我想要的。我可以在導航堆棧中跳過tabbar的時候做些什麼?導航通過視圖控制器,而跳過一個 - iOS
0
A
回答
1
你可以做到這一點很容易GO按鈕的IBAction
內:
@IBAction func goTapped(_ sender: UIButton) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc1 = storyboard.instantiateViewController(withIdentifier: "myTabBarViewController")
let vc2 = storyboard.instantiateViewController(withIdentifier: "myGoalViewController")
let controllers = [vc1, vc2]
self.navigationController!.setViewControllers(self.navigationController!.viewControllers + controllers, animated: true)
}
祝你好運!
1
將DestinationViewController可以手動:
if let destinationViewController = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID of DestinationViewController") {
self.navigationController?.pushViewController(destinationViewController, animated: true)
}
而在你DestinationViewController,插入(或者,你可以直接在故事板製作SEGUE從FirstViewController到DestinationViewController) TabbarController到導航序列在視圖後手動出現,然後您可以返回到TabbarController:
class DestinationViewController: UIViewController {
//......
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if self.isBeingPresented || self.isMovingToParentViewController {
var viewControllers = self.navigationController?.viewControllers
if let index = viewControllers?.endIndex.advanced(by: -1),
let tabBarController = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID of TabBarController") {
viewControllers?.insert(tabBarController, at: index)
self.navigationController?.viewControllers = viewControllers!
}
}
}
//......
}
相關問題
- 1. 導航控制器跳過視圖控制器
- 2. 調用父視圖控制器(通過導航控制器)
- 3. 跳過/在導航堆棧中添加視圖控制器
- 4. UI塊,而在推視圖控制器導航控制器
- 5. 如何通過導航推送數據視圖控制器
- 6. 多個導航控制器中的視圖控制器通信
- 7. 與代表跳過視圖控制器
- 8. iOS:無法導航到另一個視圖控制器
- 9. 一個導航視圖控制器推逗留IOS
- 10. UIButton在導航回父視圖時跳入標籤欄視圖控制器 - iOS
- 11. iOS導航控制器不會移動到下一個視圖控制器
- 12. ios swift - 關閉導航控制器的根視圖控制器
- 13. ios xmpp通過appdelegate從一個視圖控制器調用另一個視圖控制器
- 14. 另一個導航控制器和視圖控制器問題
- 15. 如何通過另一個視圖控制器啓動視圖控制器?
- 16. 從一個視圖控制器導航到另一個
- 17. iOS視圖控制器遏制|子視圖控制器通過觸動父視圖控制器
- 18. iOS - 通過代碼加載導航控制器
- 19. 傳遞一個值通過導航控制器
- 20. CodeIgniter從另一個視圖通過控制器加載視圖
- 21. 從導航控制器導航到正常視圖控制器
- 22. 將視圖控制器從一個視圖控制器移動到另一個視圖控制器而無需導航控制器堆棧
- 23. 從導航欄視圖控制器導航到標籤欄視圖控制器
- 24. 在呈現第一個視圖後導航視圖控制器
- 25. 從主視圖控制器鑽通過
- 26. 如何從一個視圖控制器導航到Xamarin ios中的第二個視圖控制器?
- 27. 通過一個根視圖控制器傳遞一個對象
- 28. 導航控制器呈現視圖
- 29. 導航視圖控制器中的IOS圖像選取器
- 30. iOS導航控制器獲取哪個視圖控制器彈出
您可以創建一個視圖控制器數組並將其設置爲'navigationController.viewControllers'。 –