我需要一些關於導航控制器問題的幫助。我有一個navigationController
與4 ViewControllers
推。我推的最後一個vc以模態方式呈現另一個ViewController
。模態ViewController
呈現ActionSheet
。根據用戶的回答,我要麼僅僅關閉模式ViewController
,要麼我想回到根目錄ViewController
。popToRootViewControllerAnimated不顯示根視圖控制器
中提出的ViewController
模態,我有:
- (void) dismissGameReport
{
[[self delegate] GameReportModalWillBeDismissed:modalToPopToRoot];
}
在過去ViewController
壓入堆棧navigationController
我:
- (void)GameReportModalWillBeDismissed: (BOOL)popToRoot;
{
if (popToRoot)
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
else
{
[self dismissModalViewControllerAnimated:YES];
}
}
解僱模態視圖控制器正常工作。 然而,
[self.navigationController popToRootViewControllerAnimated:NO];
不會引起根0以顯示其意見。添加一些日誌信息我看到消息到self.navigationController
後,堆棧被正確彈出,但執行順序繼續。屏幕仍然顯示模態ViewController的視圖。
作爲解決方法,我總是試圖解散模態視圖控制器,並在ViewWillAppear
方法中有popToRootAnimated
消息。沒有不同。仍然彈出一堆控制器,但屏幕繼續顯示我的模態視圖控制器的視圖,並繼續執行。
有人可以幫我嗎?
你有沒有嘗試用斷點調試你的編譯器進入循環? – Hiren 2012-01-19 13:03:41