![](/img/trans.png)
[英]How to segue (push) from ViewController to another ViewController embedded in NavigationController?
[英]TabBar embedded NavigationController bar disappears when segue to another ViewController
我有一個UITabBarController連接到3個UINavigationControllers。 其中每個都有一個UIViewController作為根視圖控制器。 當我單擊其中一個ViewControllers(VC1)中的按鈕時,我希望它轉到新的ViewController(VC2)。 很簡單。
在運行期間,當segue發生並且VC2出現時,導航欄消失。
導航欄出現在storyBoard / interface構建器中,segue是類型:present(Push)。
VC1中的代碼:
@IBAction func create_clicked(_ sender: Any) {
performSegue(withIdentifier: "segueIdentifier", sender: self)
}
了解如何實例化UITabBarController tabBar可能會有所幫助:
func login() {
let storyBoard = UIStoryBoard(name: "Main", bundle: nil)
let tabBar = storyBoard.instantiateViewController(withIdentifier: "tabBar")
window?.rootViewController = tabBar
}
請幫忙。
經過大量的實驗,我們確定即使Interface Builder 說這是一個Show(Push)segue,即使我們在一個導航控制器中開始,它也表現為一個現在的模態segue。
所以我們使用Interface Builder中的彈出菜單,從Show(Push)到普通Push,改變了segue類型,即使這已被棄用 - 並且界面正常工作。
然后我們將其更改回Show(推送),界面繼續正常工作。 問題解決了!
我懷疑故事板在某種程度上被破壞了。 顯然,Interface Builder不應該對你說這是什么樣的segue,但基本上,這就是它似乎一直在做的事情。
編輯問題是由於顯示詳細信息並將其更改為顯示而引起的。 當你這樣做時,它仍然是一個Show Detail segue,在這個上下文中表現為一個模態表示。 這是一個Xcode錯誤! 我報告了它,Apple現在說這將在Xcode 9.3中修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.