//移除所有子视图控制器
- (void)removeAllChildViewControllers{
for (UIViewController *vc in self.childViewControllers) {
[vc willMoveToParentViewController:nil];
[vc removeFromParentViewController];
}
}
/
* 方法说明:
* 1、addChildViewController:向父VC中添加子VC,添加之后自动调用willMoveToParentViewController:父VC
* 2、removeFromParentViewController:将子VC从父VC中移除,移除之后自动调用
didMoveToParentViewController:nil
* 3、willMoveToParentViewController: 当向父VC添加子VC之后,该方法会自动调用。若要从父VC移除子VC,需要在移除之前调用该方法,传入参数nil。
* 4、didMoveToParentViewController: 当向父VC添加子VC之后,该方法不会被自动调用,需要显示调用告诉编译器已经完成添加(事实上不调用该方法也不会有问题,不太明白); 从父VC移除子VC之后,该方法会自动调用,传入的参数为nil,所以不需要显示调用。
*/
/
* 注意点:
要想切换子视图控制器a/b,a/b必须均已添加到父视图控制器中,不然会报错
网友评论