【问题标题】:Is it possible to detect completion of a parent modalview dismiss animation?是否可以检测到父 modalview 关闭动画的完成?
【发布时间】:2012-04-19 20:18:36
【问题描述】:
ViewController -> ModalViewController1 ---horizontalflip ---> ModalViewController2
因此,当在 MVC2 中触摸“完成”以解除自身时 + 在 MVC1 中调用委托方法,该方法执行一些操作然后解除自身。
问题是,在动画解除 MVC2 完成之前,这个“东西”已经完成。
我希望能够检查动画何时完成然后关闭 MVC1。
【问题讨论】:
标签:
ios
xcode
modalviewcontroller
【解决方案1】:
MVC2 的动画完成后,MVC1 应该会收到一个 viewDidAppear。你可以根据你已经在做的委托调用设置的条件在里面做“东西”。
【解决方案2】:
您应该能够使用委托来实现这一点。
在 MVC2.h 中
@protocal MVC2Delegate <NSObject>
@optional
- (void) doneShowing;
@end
在MVC2.m中,你可以实现一个IBAction方法,当你点击“完成”时,在action里面调用doneShowing。
在MVC1中,你可以实现这个委托方法,在里面做任何你想做的事,最后调用[self dismissViewControllerAnimated:<#(BOOL)#> completion:<#^(void)completion#>]