3

If I dismiss the the modal VC and present it (or another one) again in less than a certain amount of time, it does not appear. Am I missing something?

4

2 回答 2

8

是的,你不能那样做。我假设你所做的是这样的:

 [self dismissModalViewControllerAnimated:YES];
 [self presentModalViewController:myNewController animated:YES];

这行不通。我不知道确切原因,但它与我相信的动画有关。您的选择是在没有动画的情况下关闭第一个,或者等待在父级的 viewDidAppear 中呈现新的(或者可能是前一个模态视图的 viewDidDisappear,但不确定这是否有效)。

于 2010-10-14T02:56:55.190 回答
0

您不能一个接一个地关闭两个模态视图控制器,除了其他海报建议的内容之外,您可以等待一小段时间,然后再关闭另一个模态视图,例如

[self performSelector:@selector(method) withObject:nil afterDelay:.5];

调用的方法只是关闭您的其他模态视图。该代码片段在 0.5 秒后执行选择器,并且可以在遇到您所描述的动画计时问题时使用,以分隔调用时间以便它们正确执行。

于 2010-10-14T03:23:25.440 回答