- 当我们从A界面跳转到C而需要返回到B界面时,可在A界面跳转方法中进行如下操作,A界面要取当前界面,否则返回到A界面时会调用重新加载的方法
[self.navigationController setViewControllers:@[self, B, C] animated:YES];
- 当我们需要从在B界面跳转到D界面然后依次返回时可以使用:
NSMutableArray * ctlArr =[NSMutableArray arrayWithArray:self.navigationController.viewControllers]; [ctlArr addObject:C];[ctlArr addObject:D];[self.navigationController setViewControllers:ctlArr animated:YES];
当返回时不需要经过的界面可以从ViewControllers中删除,如果已经生成的界面返回时不希望再次走viewdidload方法时就要取已经存在的controller,这样可以避免界面的重新加载的情况。当我们通过present展示出的界面想改变返回界面的时候我们可以通过在present出的controller添加回调方法,在prensent界面进行上面的操作可以实现更换当前controller在调用dismiss后展示的界面