解雇UIStoryboard基于segue的模态视图控制器时的通知或委托方法

时间:2012-10-29 21:52:05

标签: uiviewcontroller uistoryboardsegue

我在故事板中有2个UIViewControllers。第一个通过IB定义的“模态”式UIStoryboardSegue转换为第二个,转换类型为“Partial Curl”。

这可以按预期工作。

我想在UIModalTransitionStylePartialCurl完成时采取一些动作来配置第一个viewController。有一个-prepareForSegue:sender:方法,但是当开始 curl时调用它时,在解除curl时它是 not

是的,我已经为两个视图控制器创建了子类,并重写了此方法以验证这一点。

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

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

所以,我的问题是,如何通知模态视图控制器被解雇

1 个答案:

答案 0 :(得分: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”,您可以在调用上述方法之前放置代码。