如何在第一次推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]; }]; }