【问题标题】:When I change views from child to parent view, parents' viewWillAppear method not get called当我将视图从子视图更改为父视图时,不会调用父母的 viewWillAppear 方法
【发布时间】:2014-05-06 03:47:50
【问题描述】:

当我将视图从子视图更改为父视图时,不会调用父母的 viewWillAppear 方法

这是我在父视图中的代码。

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

这是我在子视图中的代码。

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

看来我做得对。 10 倍

【问题讨论】:

  • viewWillAppear 不会被调用,因为您正在将子视图添加/删除到视图中,而不是从一个视图导航到另一个视图

标签: ios methods view parent


【解决方案1】:

修改其视图时不会调用父级的viewWillAppear 方法。 它仅在显示时调用,而不是在有人修改其视图时调用。

当您使用addChildViewController 方法时,viewWillAppear 方法是在子级上调用的,而不是在父级上。

【讨论】:

  • 在这种情况下,我如何找出当前视图是什么?我必须在我的应用程序中添加谷歌分析,这就是我需要知道这一点的原因。我是这方面的新手。又是 10 倍。
  • 您必须手动管理它:您的容器控制器必须手动管理它,在显示时保存控制器实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 2013-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多