我在故事板中有2个UIViewControllers。第一个通过IB定义的“模态”式UIStoryboardSegue转换为第二个,转换类型为“Partial Curl”。
这可以按预期工作。
我想在UIModalTransitionStylePartialCurl完成时采取一些动作来配置第一个viewController。有一个-prepareForSegue:sender:方法,但是当开始 curl时调用它时,在解除curl时它是 not 。
是的,我已经为两个视图控制器创建了子类,并重写了此方法以验证这一点。
我的理论是,特定的segue,或者也许所有的模态segue,以不同的方式工作。也许他们并行所有“模态”视图控制器生命周期?
如果是这种情况,那么可能会有类似“willPresentModalViewController”和“didPresentModalViewController”的通知或委托方法,但我却找不到它。
所以,我的问题是,如何通知模态视图控制器被解雇?
答案 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”,您可以在调用上述方法之前放置代码。