如何在第一次推vc时popup提示模态vc 12次?

我有一个导航控制器。 我先推了一个VC,然后提出了12个模式的VC。 现在我想popup到根viewController。 我怎样才能做到这一点? 请帮我一下

您将需要解除您提交的12个模态视图。 popViewController或popToRootViewController将不起作用。

closures您的模态视图以进入根视图。

对不起,我不确定我是否正确理解你的问题。 但是是UINavigationController的
– (NSArray *)popToRootViewControllerAnimated:(BOOL)animation
你在寻找什么?

如果你有导航控制器,并想享受在单个命令中popup多个级别的好处,那么你应该使用pushViewController (或推塞格斯)而不是presentViewController (或模态塞格斯)。

正如其他人所指出的那样,如果你正在纠正推向后来的控制器,那么你可以通过:

 [self.navigationController popToRootViewControllerAnimated:YES]; 

告诉推送的VC dismissViewControllerAnimated:completion: 。 这将解散所有提出的风险投资。 现在你可以popup推送的VC。

在AppDelegate的实例variables中保留第一个NavigationController。 在AppDelegate.h中

 @property (nonatomic, retain) UINavigationController *navigationControllerFirst; 

在RootViewController的viewDidLoad中添加以下内容。

 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; app.navigationControllerFirst = self.navigationController; } 

然后,为了实现你想要的,在第12个模式中添加以下函数返回到RootViewController。

 - (IBAction)GoToHome:(id)sender { AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [app.navigationControllerFirst dismissViewControllerAnimated:YES completion:^{ [app.navigationControllerFirst popToRootViewControllerAnimated:YES]; }]; }