2012-05-28 34 views
1

我有一個選項卡欄控制器應用程序,選項卡欄控制器分爲幾個「選項卡」視圖控制器,在視圖控制器我想重定向到其他視圖控制器之一。我從該選項卡視圖控制器創建一個segue到目標視圖控制器,並給它一個Identifer。我在「viewDidAppear」中調用「performSegueWithIdentifier」來重定向用戶。執行從選項卡視圖控制器的推塞爾

當segue是「Modal」時它工作正常,但由於我想保留選項卡,我想通過「Push」調用segue。但是,一旦我將segue更改爲「Push」,它就不再工作(它不會嘗試去目標視圖控制器)。該應用程序沒有在模擬器上崩潰,而是停留在原始選項卡視圖控制器上。

+0

我想我找到答案... 推塞格只能在導航控制器下工作,所以我需要將我的標籤欄控制器嵌入到導航控制器下... – user1416492

回答

10

「Push」是植入UINavigation控制器的UIViewController堆棧的機制。

除非選項卡中的視圖控制器是導航控制器,否則無法執行推送。

因此,作爲一個例子

TabBar VC 

...Tab 1 -> UIViewController 
...Tab 2 -> UIVIewController 
...Tab 3 -> UINavigationController -> UIViewController(root) 

只有標籤3可以執行推送SEGUE。

+0

謝謝。它解決了我的問題 – user1416492

+0

「顯示」怎麼辦? – User

相關問題