我不能只做
[myViewController dismissModalViewControllerAnimated:YES];
[myViewController presentModalViewController:nextModalViewController animated:YES];
一个接一个,因为那时两个动画块试图同时影响相同的引用,事情就会严重破坏。
所以我需要做的是只在第一个动画结束后才调用后者。但是没有像UIViewControllerDelegate
这样的didDismissModalViewController
方法。我该怎么办?
答案 0 :(得分:3)
有点hacky(好吧,也许很多hacky),但你可以在一个固定的延迟之后简单地呈现第二个:
[myViewController performSelector:@selector(showSecondModalView) withObject:nil afterDelay:0.5];
(或任何动画持续时间结果)。
答案 1 :(得分:2)
只是继承视图控制器(如果你还没有)并且这样做有什么问题:
- (void) viewDidDisappear: (BOOL) animated
{
[super viewDidDisappear: animated];
[myViewController presentModalViewController:nextModalViewController animated:YES];
}
我不确定你是如何处理对视图控制器的引用的,但我想要的是抓住正在滑落的模型视图控制器的viewDidDisappear。