iOS关闭视图控制器并显示另一个视图控制器而不显示基本视图控制器

时间:2016-03-04 20:56:47

标签: ios

我有3个视图控制器,vc1,vc2,vc3。

vc1呈现vc2和vc3。

在vc1中,我有委托方法来解除vc2,并在完成块中显示vc3。

工作正常。但是在视图切换之间,vc1会显示出来。所以vc2解雇,vc1 show,vc3出现。

有没有办法在这个过程中不显示vc1?我试图在解雇和现场解雇动画。

谢谢!

2 个答案:

答案 0 :(得分:1)

一个想法可能是在vc2之上提供vc3。一旦你准备回到vc1,只需拨打[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];,你就可以同时弹出vc2和vc3,而不会看到vc2。

答案 1 :(得分:0)

一种技术是使用UINavigationController的setViewControllers:animated方法。从导航控制器中抓取viewControllers数组,删除最后一项(VC2),追加VC3,然后将数组传递到setViewControllers。这本质上是一个pop-then-push,它应该按照你想要的方式制作动画。