【问题标题】:What happens if I don't call willMoveToParentViewController & didMoveToParentViewController explicitly?如果我不明确调用 willMoveToParentViewController 和 didMoveToParentViewController 会发生什么?
【发布时间】:2015-03-03 02:58:23
【问题描述】:

XCode 文档说
如果你正在实现自己的容器视图控制器,它必须在调用removeFromParentViewController方法之前调用子视图控制器的willMoveToParentViewController:方法,传入一个父值nil。

如果您正在实现自己的容器视图控制器,它必须在转换到新控制器后调用子视图控制器的didMoveToParentViewController: 方法,或者如果没有转换,则在调用addChildViewController: 方法后立即调用。

如果我不明确调用 willMoveToParentViewController 和 didMoveToParentViewController 会发生什么?

【问题讨论】:

  • @rmaddy 我写了一些测试代码,省略了所需的功能,它似乎可以正常工作

标签: ios containers viewcontroller


【解决方案1】:

-willMoveToParentViewController-didMoveToParentViewController分别调用UIViewController-viewWillAppear-viewDidAppear方法。如果您忽略这些调用,则不会调用以前的方法。

【讨论】:

  • 我在parentViewController中调用了[self addChildViewController:child][self.view addSubview:child.view],看来孩子的viewWillAppearviewDidAppear会被自动调用。
猜你喜欢
  • 2015-11-13
  • 1970-01-01
  • 2012-10-06
  • 1970-01-01
  • 2011-04-02
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 2016-02-18
相关资源
最近更新 更多