2014-03-27 81 views
2

當我改變看法,從孩子父母認爲,父母的viewWillAppear中的方法不會被調用當我改變看法,從孩子父母認爲,父母的viewWillAppear中的方法不會被調用

這是我在父視圖代碼。

PrivacyViewController *privacy = [[PrivacyViewController alloc]initWithNibName:@"privacyViewController" bundle:nil]; 
[self addChildViewController:privacy]; 
[self.view addSubview:privacy.view]; 
[privacy didMoveToParentViewController:self]; 

這是我在Child視圖中的代碼。

-(IBAction)backButton:(UIButton*)button 
    [self willMoveToParentViewController:nil]; 
    [self.view removeFromSuperview]; 
    [self removeFromParentViewController]; 
} 

似乎我做得對。 10x

+0

viewWillAppear不會接到呼叫,因爲您將視圖的子視圖添加到視圖中而不是從一個視圖導航到其他視圖 – Anupam

回答

1

當您修改其視圖時,不會調用父項的viewWillAppear方法。 僅當它被顯示時才被調用,而不是在某人修改其視圖時被調用。

當您使用addChildViewController方法時,viewWillAppear方法在子級而不是父級上調用。

+0

在這種情況下,我該如何找出當前視圖?我必須在我的應用程序中添加Google Analytics(分析),這就是爲什麼我需要知道這一點。我是新來的。再次10倍。 –

+0

您必須手動管理它:您的容器控制器必須手動管理它,並在顯示時保存控制器實例。 –