有没有办法实现自己的机制来检测dismissModalViewControllerAnimated何时消失?我已经尝试过viewdiddisappear,但是没有被调用,因为我认为只有在从视图中删除子视图时才调用它。对于模态的情况,我认为iOS对待它们的方式不同。
有什么想法吗?
我希望我的代表在这个模态视图被驳回后做一些动作。
感谢。
答案 0 :(得分: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
}
答案 1 :(得分:0)
添加在dismissModalViewController
答案 2 :(得分:0)
您可以使用父视图控制器的viewWillAppear
。通过父视图控制器,我的意思是presentViewController
(或presentModalViewController
)
答案 3 :(得分:0)
我发现了这个问题。
进行此调用的视图控制器,我忘了设置代理人是谁。