1) Do I have to call addSubview after calling addChildViewController?
Yes
2) Do I have to call removeFromSuperview before calling removeChildViewController?
Not quite
You should call removeFromParentViewController:
instead of removeChildViewController:
You should also call willMoveToParentViewController:
For adding / removing, you can refer to this great category :
UIViewController + Container
- (void)containerAddChildViewController:(UIViewController *)childViewController {
[self addChildViewController:childViewController];
[self.view addSubview:childViewController.view];
[childViewController didMoveToParentViewController:self];
}
- (void)containerRemoveChildViewController:(UIViewController *)childViewController {
[childViewController willMoveToParentViewController:nil];
[childViewController.view removeFromSuperview];
[childViewController removeFromParentViewController];
}
Official resource at developer.apple.com
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…