2017-10-04 86 views
0

因此,我將3個VC嵌入導航控制器和標籤欄控制器中。但是,每當我從第三個VC添加一個segue到第一個VC,導航欄和標籤欄從故事板中消失。所以,我想3號VC迅速文件編程添加賽格瑞這樣:添加賽格時缺少標籤欄

let collectionVC = self.storyboard?.instantiateViewController(withIdentifier: "collectionVC") as! CollectionViewController 

    let navigationVC = UINavigationController(rootViewController: collectionVC) 
    self.present(navigationVC, animated: true, completion: nil) 

不幸的是,添加的代碼上面,標籤欄仍然失蹤,但導航欄是存在的。我希望有人能幫助我。

+0

你想直接存檔什麼?你想在你的應用程序中使用三個不同的導航控制器,或者你想有三個不同的標籤欄? – Retterdesdialogs

+0

如果我是正確的,你正在嘗試從第3個VC到第1個VC:爲什麼不使用「navigationController?.popToRootViewControllerAnimated(true)」?你將有標籤欄,導航欄和 - 最重要的是 - 你不會創建第一個VC的另一個實例 –

+1

@MarcoPace謝謝!它的工作:) – acoustickat

回答

2

如果我理解正確的問題,您使用的是UINavigationController和你試圖去從VC3VC1,這意味着你有一個這樣的導航堆棧:

VC1 - > VC2 - > VC3

如果你想回去VC1,你可以使用:

navigationController?.popToRootViewControllerAnimated(true)‌​ 

您仍將擁有標籤欄,導航欄和 - 最重要的是 - 您將不會創建另一個實例VC1。這是處理UINavigationController的正確且最簡單的方法。