一次解除多个模态视图控制器?

seb*_*ock 21 iphone modal-dialog uiviewcontroller dismiss

所以有一个带有三个视图控制器的堆栈,其中A是根,B是第一个模态视图控制器,C是第三个模态vc.我想立刻从C到A.我已经尝试过这个解决方案来解雇.它确实有效但不是以正确的方式.也就是说,当最后一个视图控制器被解除时,它将在显示第一个视图控制器之前完全显示第二个视图控制器.我正在寻找的是一种从第三个vc到第一个vc的方法在一个不错的动画中没有注意到第二个视图.任何有关这方面的帮助都非常有用.

ohh*_*rob 22

确保你只打了dismissModalViewControllerAnimated:一次电话.

我发现要求关闭每个堆叠模态视图控制器将导致它们都有动画.

你有: A =modal> B =modal> C

你应该只打电话 [myViewControllerA dismissModalViewControllerAnimated:YES]

如果你使用[myViewControllerB dismissModalViewControllerAnimated:YES],它会解雇C而不是B.在正常(非堆栈)使用中,它会解雇B(由于响应者链将消息冒泡到A).在您描述的堆叠方案中,B是父视图控制器,这优先于作为模态视图控制器.

  • 到目前为止我使用:[[[self parentViewController] parentViewController] dismissModalViewControllerAnimated:YES]; 那会使用root viewcontroller.然而,它仍然显示第二个vc为breif秒. (7认同)