[英]Show tab bar on all view controllers of application
您的問題存在是因為您的UITabViewController
嵌入在初始化為初始控制器的導航堆棧中。
您必須重新構建內容,以便標簽欄控制器選項卡打開到新的導航堆棧。
UINavigationController
,你不需要它(如果你不想使用push segue,請使用模態segue,然后你就不會從UITabViewController
里面回到那個UINavigationController
的viewController堆棧了。 UITabViewController
每個第一個UIViewControllers
嵌入到單獨的UINavigationController
。 現在,您可以在UITabViewController's
選項卡中推送segue
你應該意識到你的觀點結構。
現在,您首先擁有一個NavigationController,其rootViewController是一個Tab BarController。
NavigationController[0] = TabBarController
你的TabBarController有2個ViewController(控制器1和控制器2)
NavigationController[0] = TabBarController
然后它包括2個控制器
TabBarController[0] = Controller 1
TabBarController[1] = Controller 2
你打電話時
self.navigationController.pushViewController
這意味着NavigationController推送到Controller 3,因此控制器3不會顯示標簽欄,因為它不在TabBarController中。
如果你想推送到控制器3並且仍然有標簽欄,你可以在Controller 1中插入一個容器(或插入一個View),並創建一個這樣的NavigationController
let nav = NavigationController(rootViewController: yourController1)
self.yourViewInsertedInController1.addSubview(nav.view)
然后在yourController1中運行
self.navigationController.pushViewController
這是對的。
要將視圖控制器添加到選項卡欄控制器的視圖控制器陣列,請從標簽欄控制器拖動到該視圖控制器,同時按住Control鍵。 從出現的菜單中選擇Relationship Segue> view controllers。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.