我需要一些关于导航控制器问题的帮助。我有一个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