我有3个视图控制器,vc1,vc2,vc3。
vc1呈现vc2和vc3。
在vc1中,我有委托方法来解除vc2,并在完成块中显示vc3。
工作正常。但是在视图切换之间,vc1会显示出来。所以vc2解雇,vc1 show,vc3出现。
有没有办法在这个过程中不显示vc1?我试图在解雇和现场解雇动画。
谢谢!
答案 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,它应该按照你想要的方式制作动画。