iOS开发中,跳转页面最常用的就是push和present这两种方法。在push中有一个方法是popToRootViewControllerAnimated
,返回到最底层的控制器。而在present方法中,只有一个 dismissViewControllerAnimated:<#(BOOL)#> completion:<#^(void)completion#>
返回上层控制器的方法。我们可以通过以下方法进行让我们的dismiss方法可以返回到最底层的控制器,这里就是用到了UIViewController中的一个属性是presentingViewController
,这个是present到当前界面的上一个界面。
具体代码如下:
-(void)dismissToRootViewController {
UIViewController *vc = self;
while (vc.presentingViewController) {
vc = vc.presentingViewController;
}
[vc dismissViewControllerAnimated:YES completion:nil];
}