2

我在情节提要中有 2 个 UIViewController。第一个通过 IB 定义的“Modal”样式 UIStoryboardSegue 与第二个转换类型为“Partial Curl”。

这按预期工作。

当 UIModalTransitionStylePartialCurl 完成时,我想采取一些措施来配置第一个 viewController。有一个 -prepareForSegue:sender: 方法,但是虽然在开始curl 时会调用它,但在关闭 curl 时不会调用它。

是的,我已经继承了两个视图控制器并重写了这个方法来验证这一点。

我的理论是特定的转场,或者可能所有的模态转场,以不同的方式工作。也许他们平行所有“模态”视图控制器的生命周期?

如果是这种情况,那么可能有类似“willPresentModalViewController”和“didPresentModalViewController”通知或委托方法,但我找不到它的提及

所以,我的问题是,我怎样才能收到模态视图控制器被解雇的通知

4

1 回答 1

0

从 iOS 5 开始,您可以使用方法 presentViewController: 或 dismissViewControllerAnimated 中可用的完成块:

[self presentViewController:(UIViewController *) animated:(BOOL) completion:{
    //called after the view controller is presented
}]

[self dismissViewControllerAnimated:(BOOL) completion:^{
    //called after the view controller is dismissed
}];

完成块的行为类似于“didPresentModalViewController”或“didDismissModalViewController”。

对于“willPresentModalViewController”或“willDismissModalViewController”,您可以在调用上述方法之前输入您的代码。

于 2013-05-30T13:21:48.513 回答