我有一个名为UserInfoViewController一个UIViewController类,什么时候会出现,这样的parentViewControoler使用代码:presentModalViewController和initWithRootViewController
UserInfoViewController *rvc = [[UserInfoViewController alloc] initWithNibName:@"UserInfoViewController" bundle:nil];
rvc.user = user;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:rvc];
nc.navigationBarHidden = YES;
[self presentModalViewController:nc animated:YES];
[rvc release];
[nc release];
有时UserInfoViewController将推动或呈现另一个视图控制器,所以栈应该如:
Root VC
|
A (push)
|
| - B (present)
|
|-- C (push)
|
|- D (push)
|
|- E (present)
B,E是类UserInfoViewController的。
问题是,当在视图控制器E上时,我想关闭所有viewcontrollers并返回到Root VC,但我无法一次处理它们。
我试图popToRootViewControllerAnimated,dismissModalViewControllerAnimated,setViewControllers,但他们没有工作。
我也把通知侦听,当需要返回根VC,刚刚张贴通知,并在监听器选择,这样做:
[self.navigationController popToRootViewControllerAnimated:NO];
[self.presentingViewController dismissModalViewControllerAnimated:NO];
然后CD是封闭的,但** BE **仍然存在。
有什么建议吗?