1

有没有办法实现自己的机制来检测dismissModalViewControllerAnimated 何时消失?我试过 viewdiddisappear,但这并没有被调用,因为我认为它只在从视图中删除子视图时调用。对于模态,我认为 iOS 对待它们的方式不同。

有任何想法吗?

我希望我的代表在此模式视图被解除后执行一些操作。

谢谢。

4

4 回答 4

1

在关闭视图控制器之前,使用 NSNotificationCenter 发布通知。将您的其他视图控制器添加为观察者。这是广播事件的简单方法。

所以在你解雇之前:

[[NSNotificationCenter defaultCenter] postNotificationName:@"DismissModalViewController" 
                                                    object:nil];

[self dismissModalViewControllerAnimated:YES];

然后在您的视图控制器中

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(yourCallback)
                                             name:@"DismissModalViewController" 
                                           object:nil];

回调将类似于:

- (void) yourCallback
{
    // some code to run when modal view controller is dismissed
}
于 2012-07-16T14:13:20.460 回答
0

添加之前调用的委托方法dismissModalViewController

于 2012-07-16T14:13:16.763 回答
0

您可以使用父视图控制器的viewWillAppear. presentViewController通过父视图控制器,我的意思是(或presentModalViewController)的接收者

于 2012-07-16T14:14:45.463 回答
0

我发现了这个问题。

进行此调用的视图控制器,我忘记设置委托人是谁。

于 2012-07-16T14:15:16.757 回答