2014-03-27 46 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

您必须手动管理它:您的容器控制器必须手动管理它,并在显示时保存控制器实例。 –