如果过早调用presentModalViewController不起作用

gur*_*het 3 iphone objective-c modalviewcontroller presentmodalviewcontroller

如果我解除模态VC并在不到一定的时间内再次呈现它(或另一个),它就不会出现.我错过了什么吗?

Ale*_*lin 8

是的,你做不到.我假设你做的是这样的:

 [self dismissModalViewControllerAnimated:YES];
 [self presentModalViewController:myNewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

这不起作用.我不确切知道为什么,但它与我相信的动画有关.您可以选择在没有动画的情况下关闭第一个,或者等待在父视图的viewDidAppear中显示新的一个(或者可能是前一个模态视图的viewDidDisappear,但不确定它是否有效).

  • 这不起作用的原因是因为视图控制器在动画完成时忽略了对模态vc的引用.因此,它不再认为它有另一个视图控制器来呈现模态.您建议的两种解决方案都可以使用. (3认同)
  • 这里发布的答案有关这两种方法的更多细节.http://stackoverflow.com/questions/3919845/presenting-a-modal-view-controller-immediately-after-dismissing-another/3919870#3919870 (2认同)