2015-09-24 38 views
1

使用下面的圖表作爲參考,當用戶按下按鈕時,我試圖從控制器A去控制器B-2。更改視圖控制器維護導航層次

我對iOS相當陌生,所以我遇到了一些問題。 如果我按下B-2控制器或創建一個Segue,則不遵守層次結構,並且B-2控制器不在導航控制器(B)內。

我希望用戶仍然具有導航功能,並仍然能夠使用後退按鈕返回到控制器B-1。

控制器的& B都是相同的選項卡控制器下(Z)

我怎樣才能做到這一點?

Diagram

+0

嘗試添加導航控制器,以「A」,然後將其推 – Mukesh

+0

不過的行爲,然後如果你回到你回到A,不B-1 我想保持層次結構 – Jack

回答

0

最後,我發現此解決方案:

從控制器AI獲取父(Z),激活控制器設置爲第二子(B),並得到他的孩子(B-1 )。

一旦我有B-1,我可以調用執行segue,它工作得很好。 層次結構是正確的,這正是我想要的

的代碼是這個

if let tab = self.parentViewController as? UITabBarController{ 
      tab.selectedIndex = 1 
      if let one = tab.childViewControllers[1] as? UINavigationController{ 
       if let two = one.childViewControllers[0] as? MatchTableViewController{ 
        two.performSegueWithIdentifier("open_chat_view", sender: matchModel) 
       } 
      } 
     } 
相關問題