我有一個應用程序,推動堆棧上的四個viewcontrollers。在第四個視圖控制器中,我做了一個PopViewController,所以我應該回到第三個viewcontroller,並且在viewWillAppear方法中,我做了一個PopToRootViewController。這並沒有讓我回到第一個viewcontroller正確。該代碼是直接的,只是一個彈出viewcontroller,然後回到RootViewController似乎沒有工作
[self.navigationController pushViewController:nextController animated:YES]
在每個第一3個viewcontrollers的
,並且在第四
[self.navigationController popViewControllerAnimated:YES].
在第三視圖控制器,我有一個viewWillAppear中方法,其作用:
[self.navigationController popToRootViewControllerAnimated:YES].
當我通過意見,我得到以下內容:
啓動應用程序:
Back: Title: FirstLevel
按OK:
Back: FirstLevel Title: SecondLevel
按OK:
Back: SecondLevel Title: ThirdLevel
按OK:
Back: ThirdLevel Title: FourthLevel
按確定:其持久性有機污染物回1,然後彈出返回根:
Back: FirstLevel Title: ThirdLevel
如果我現在按OK:
Back: ThirdLevel Title: SecondLevel
我很抱歉,如果這是令人困惑的。我應該能夠彈出一個視圖控制器,然後立即回彈到根目錄?
感謝您的任何幫助。
什麼實際上,我試圖做的是得到與第四視圖控制器用戶的一些信息。然後我解僱了這個視圖控制器,並且我可能不需要獲得更多的信息。如果我有所有的信息,那麼我想回到根視圖控制器;否則,我要推另一個視圖控制器來獲取更多信息。我想我可以將信息傳遞給第四個視圖控制器去推動第五個獲取更多信息等等,然後在我擁有我需要的所有東西后,最終彈出到根目錄。 – DNewell 2011-03-02 22:04:49
將調用放在viewDidAppear中似乎工作正常,但是,我確實可以看到其他視圖的實例,看起來不是很專業。除了改變架構之外,有沒有其他解決方法? – DNewell 2011-03-02 22:13:34
從用戶體驗的角度來看,推送第5個控制器以獲取更多信息對於用戶來說不會造成混淆。 – 2011-03-02 22:32:37