我正在绘制一个应用程序的工作流程,其中您有一个主菜单“0级”,调用模态视图'1级',调用另一个模态视图'2级'。iPhone - 关闭父模态视图
我能得到这个工作,没有问题,我能够通过使用驳回整个堆栈:
[[[self parentViewController] parentViewController] dismissModalViewControllerAnimated:YES];
在模态视图“二级”
。
我的问题是当模态视图'2级'有一个导航栏我不能解雇整个堆栈。
[self dismissModalViewControllerAnimated:YES];
模态视图“二级”:我上面列出的代码只所以它真正的作用一样,如果我做了这个让我回到了一个级别。
总结: 当模态视图“一级”调用模态视图使用以下第2等级:
Level2 *level2 = [[[Level2 alloc] initWithNibName:@"Level2" bundle:nil] autorelease];
[self presentModalViewController:portalMainController animated:YES];
我可以关闭整个堆栈和回到主菜单(0级)。但是,当“一级”所谓的“二级”与类似下面的导航栏:
Level2 *level2 = [[[Level2 alloc] initWithNibName:@"Level2" bundle:nil] autorelease];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:level2];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
我不能回到“0级”,我只有回到“1级”。
有什么建议吗?
谢谢。我已经设置了一个Level2协议,但我遇到了一个问题:“将2级控制器的代理设置为1级控制器”。我已经阅读了其他一些帖子,但我有一个问题围绕着这个问题。 – CraigH 2010-07-11 22:07:55
当1级实例化2级控制器时,可以执行level2.delegate = self; – rickharrison 2010-07-12 00:58:27
太好了。谢谢瑞克,我明白了。 – CraigH 2010-07-12 01:05:21