我创建了一个iPad应用程序,其中有三个自定义UIViewController。 VC1,VC2,VC3。 它就像一个层次结构,所以你必须逐步完成每个阶段。
因此,您无法直接从VC1跳转到VC3。
但如果你在VC3,你可以直接回到VC2或VC1。
在VC3上,我可以调用dismissViewControllerAnimated
来呈现VC2 - 很酷。
但是如果我想从VC3跳回到VC1,最好的方法是什么?
是否有理由将“alloc and init”用于VC1然后再presentViewController:animated:completion
?
答案 0 :(得分:1)
是的,因为VC1已经存在会很糟糕,你会有重复的。 您可以使用它从VC3转到VC1。
[self.presentingViewController.presentedViewController dismissModalViewControllerAnimated:YES];
答案 1 :(得分:0)
是的,分配init另一个VC1会非常糟糕。
只需将VC3委托给VC3。
如果要从VC3中解除VC1和VC2,只需调用类似“DismissAllVC”的委托方法 在VC1中进入DismissAllVC方法只需调用
- (void)dismissModalViewControllerAnimated:(BOOL)animated
这将解除VC2和VC3,因为它们是VC1的孩子。
这就是我要做的事情,因为父视图控制器应该始终对孩子的解雇负责。
希望这会有所帮助;)