2012-07-16 51 views
1

有沒有一種方法來實現自己的機制來檢測何時dismissModalViewControllerAnimated消失?我試過viewdiddisappear,但是這並沒有被調用,因爲我認爲它只在子視圖從視圖中移除時纔會調用。對於模態的情況,我認爲iOS對待它們的方式不同。如何去檢測dismissModalViewControllerAnimated

任何想法?

我希望我的代表在此模式視圖被解除後執行一些操作。

謝謝。

+1

您能否詳細說明您正在嘗試檢測dismissModalViewControllerAnimated的位置?附註:dismissModalViewControllerAnimated:將被棄用;解除模態VC的新方法是dismissViewControllerAnimated:completion :(完成動畫時要執行的塊)。 – 2012-07-16 14:13:46

回答

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 
} 
0

添加被稱爲右側前dismissModalViewController

0

您可以使用父視圖控制器viewWillAppear。通過父視圖控制器,我的意思是presentViewController(或presentModalViewController

0

的接收器我找到了問題。

發出此調用的視圖控制器,我忘記設置代表是誰。