如何知道何时启动dismissModalViewControllerAnimated以及何时完成?

Boo*_*oon 6 iphone cocoa-touch objective-c uikit

有没有办法知道何时启动dismissModalViewControllerAnimated以及何时完成(例如viewWillAppear和viewDidAppear的习语)?与其他动画不同,这个动画似乎没有代表告诉你.

Cor*_*oyd 10

是的,比你想象的要容易.

当调用dismissModalViewControllerAnimated:时,底层视图(即将出现的视图)将收到viewWillAppear消息和viewDidAppear消息.

警告:确保您的视图控制器正确连接或这些消息丢失.

  • 我实现了viewDidAppear和viewDidAppear.但是当调用modalviewcontroll时(作为部分卷曲样式),这些委托不会被调用.有任何想法吗? (4认同)

ela*_* s 5

我恐怕viewWillAppear和viewDidAppear并不总是有效.在iPhone上,他们可能没有.如果呈现的UIViewController未以全屏显示(例如,如果它以表单形式呈现),则父视图将不会接收viewWillAppear或viewDidAppear生命周期函数.不幸的是,我找到的唯一方法是在调用dismissModalViewControllerAnimated时调用我自己的委托消息(通过引用或通知引用)