在我們的iOS應用程序中有三個UIViewController
s,我們希望根據某些條件跳過中間一個,直接從第一個到第三個。但是,用戶應該能夠通過第三個控制器上的「後退」按鈕返回到第二個。有條件地在iOS 5應用程序中使用UINavigatonController跳過UIViewController
我試過[self performSegueWithIdentifier:@"segueId" sender:sender];
從viewDidLoad
,viewWillAppear
,但這樣會破壞導航欄,如調試日誌所示。從viewDidAppear
調用該代碼可以正常工作,但第二個視圖已經顯示出來了,這正是我首先想要避免的。
我也試過[self.navigationController pushViewController:vc animated:NO];
但結果是同樣損壞的導航欄,即使這次調試日誌沒有這樣的條目。
這樣做的支持方式是什麼(如果可能的話)?
目標是iOS4的iPhone4,開發環境是Xcode 4.3。
非常感謝您的回覆。爲了能夠以這種方式實現它,看起來控制器不應該需要前一個數據。現在,在我們的應用程序中,每個控制器在'prepareForSegue'期間爲後續控制器準備相關數據(基於用戶選擇)。這就是爲什麼我在尋找能夠讓我「跳過」的東西(例如,就像自動執行賽格一樣)。你給了我一個思考想法。讓我研究一下,看看我是否可以將這個想法融入到應用程序中。 – alokoko 2012-03-13 23:04:37
有一些洗牌涉及,但我得到它的工作。我仍然希望有某種方式可以在視圖出現之前「跳過」(也許通過segue或其他方式),在同一控制器內工作。 – alokoko 2012-03-13 23:58:54
我忘了提到的一個細節:跳過後的第三個控制器上的後退按鈕標記爲「後退」,而不是第二個控制器的標題,因爲它將按照正常順序進行。這應該手動設置? – alokoko 2012-03-14 00:04:42