2012-04-18 98 views
0

我有嵌入在導航欄4次:控制SEGUE目的地後退按鈕導航條

VC1 - > VC2 - > VC3 - > VC4

我需要返回從VC3按鈕被segued到VC1,而不是的VC2。我已經搜索實施這個選項,但我沒有成功。可能嗎?

非常感謝

+0

爲什麼不從VC3添加一個segue到VC1? – 0xDE4E15B 2012-04-18 11:22:01

+0

因爲我需要執行這個序列,但是我需要VC3 Back按鈕回到VC1 – theomen 2012-04-18 11:39:01

回答

1

如果你想保持它的正常外觀不能更改後退按鈕的行爲,但你可以採取一個骯髒的修復(我不熟悉的一種更好的方式這樣做)如果你不能更好地組織你的應用程序。它涉及直接編輯導航堆棧,並從中刪除不需要的視圖控制器。

這不是一個推薦的處理這種方式,但它可以做的事情:

NSMutableArray *myNavigationStack = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; 
[myNAvigationStack removeObjectAtIndex:<yourViewControllerExtraIndex>]; 
self.navigationController.viewControllers = navigationStack; 

確保你得到正確的指數(0是你的RootViewController的),並妥善處理你的記憶。

可能最好的解決方法是設計應用程序的體系結構以完全避免這種行爲。