代码之家  ›  专栏  ›  技术社区  ›  Nate

iphone-检测动画的结尾

  •  3
  • Nate  · 技术社区  · 15 年前

    如何检测模态视图动画的结尾(当我执行解除操作时)?(我指的是不是自己创建的mfmailcomposiewcontroller…)

    谢谢

    4 回复  |  直到 15 年前
        1
  •  5
  •   Dave DeLong    15 年前

    你的模态视图控制器有 -viewDidDisappear: 方法,每当视图从屏幕上删除时自动调用该方法。您可以在模态视图控制器中重写此方法,以执行您喜欢的任何操作。

    另外,您可能需要考虑实现 -viewDidAppear: 视图控制器中的方法,其视图由模式视图消失而显示。

        2
  •  1
  •   kennytm    15 年前

    您可以将mfmailcomposiewcontroller子类化并重载它 -viewDidDisappear: .

    @interface MyCtrler : MFMailComposeViewController
    @end
    @implementation MyCtrler
    -(void)viewDidDisappear:(BOOL)animated {
       [super viewDidDisappear:animated];
       // do anything you like
    }
    @end
    
        3
  •  0
  •   Jaanus    15 年前

    我需要在解除模态视图之后做些什么,并且只有当它确定模态视图确实已经消失(完全解除锁定)时。所以viewdid消失了,它在modal视图中的朋友对我来说太早了。

    我发现最简单的方法就是用一个nstimer延迟我的代码。当模态视图调用其委托并且委托调用移除模态视图时,它也会将要在模态视图消失时运行的代码排队。计时大约是300毫秒或400毫秒(有没有办法从某处获取实际计时?)

        4
  •  0
  •   progrmr    15 年前

    通常在动画完成时会收到通知,您可以通过发送 setAnimationDelegate: 到uiview类。

    当风险投资被解雇时 [someVC dismissModalViewControllerAnimated:YES] 不能设置动画代理,但如果改为发送“否”,并对VC的视图执行自己的动画,则 可以 设置代理并在动画完成时收到通知。