如果过早调用presentModalViewController不起作用

时间:2010-10-14 02:51:24

标签: iphone objective-c modalviewcontroller presentmodalviewcontroller

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

2 个答案:

答案 0 :(得分:8)

是的,你做不到。我假设你做的是这样的事情:

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

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

答案 1 :(得分:0)

你不能一个接一个地解雇两个模态视图控制器,除了另一张海报建议的那样,你可以在解除其他模态视图之前等待一小段时间,例如

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

调用的方法只会解除您的其他模态视图。 代码片段在.5秒后执行选择器,并且可以在出现像您描述的那样的动画定时问题时使用,以分离调用时间以使它们正确执行。