簡體   English   中英

當segue到另一個ViewController時,TabBar嵌入式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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM