iPhone-检测动画的末尾
-
02-10-2019 - |
题
如何检测模态视图动画的末尾(当我解雇时)? (我说的是不是我自己创建的MFMailComposeViewController ...)
谢谢
解决方案
您的模态视图控制器有一个 -viewDidDisappear:
每当从屏幕上删除视图时,将自动调用的方法。您可以在模态视图控制器中覆盖此方法,以执行您喜欢的任何事情。
另外,您可能需要考虑实施 -viewDidAppear:
视图控制器中的方法在您的模态视图消失的情况下揭示了其视图。
其他提示
您可以子类MFMailComposeViewController和Overload -viewDidDisappear:
.
@interface MyCtrler : MFMailComposeViewController
@end
@implementation MyCtrler
-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
// do anything you like
}
@end
我需要在忽略模态视图后做某事,并且只有当确定模态视图确实消失时(完全已被批准)。因此,ViewDidDisappear及其在模态视图中的朋友对我来说还为时过早。
我发现最简单的只是用nstimer延迟我的代码。当模态视图调用其委托并调用删除模式视图的委托时,它也会在模态视图消失时排队以要运行的代码。时机大约是300ms或400ms。 (有没有办法从某个地方检索实际的时机?)
通常,当动画完成时要通知您通过发送来设置代表 setAnimationdelegate: 到Uiview类。
当VC被解雇时 [someVC dismissModalViewControllerAnimated:YES]
您无法设置动画委托,但是如果您不发送,请对VC视图进行动画 能够 设置委托并在动画完成后通知。
不隶属于 StackOverflow