1. 场景
需要将ViewController B作为childVC添加到ViewController A
[superVC.view addSubview:childVC.view];
[superVC addChildViewController:childVC];
[childVC didMoveToParentViewController:superVC];
- 为什么要调用
- (void)didMoveToParentViewController:(nullable UIViewController *)parent
这个方法呢?苹果的解释如下
addChildViewController: will call [child willMoveToParentViewController:self] before adding the
child. However, it will not call didMoveToParentViewController:. It is expected that a container view
controller subclass will make this call after a transition to the new child has completed or, in the
case of no transition, immediately after the call to addChildViewController:.
- 大意:
addChildViewController
会隐式的调用willMoveToParentViewController:
,但不会调用didMoveToParentViewController:
,因此需要手动调用 - 添加将childVC时,
- (void)willMoveToParentViewController:(nullable UIViewController *)parent
的parent