之前用模态跳转(presentViewController)做了一个自定义弹窗,但是后来有个需求,需要点击弹窗里的按钮,在进行push跳转,一开始的想法是,怎么获得当前这个栈里的最后一个vc,看网上的案例,发现都不是很合适。自己试验之后,发现一个很简便的方法。。。
UINavigationController *nav = (UINavigationController *)self.presentingViewController;
[nav pushViewController:vc animated:YES];
在被模态出的vc里面,self.presentingViewController就是当前的UINavigationController,获取到这个,就能进行各种操作了。但是这里还要再前面加上一句代码:
[self dismissViewControllerAnimated:NO completion:nil];
没有这句话,push操作后,模态出来的vc还是会在屏幕的最上方,所以先让他dismiss掉!