父子控制器的小tips
控制器父子关系的建立原则
如果两个控制器的view是父子关系(不管直接还是间接的父子关系),那么这两个控制器也应该为父子关系。
如果b的view在a的view上,那么b是a的子控制器
[a.view addSubview:b.view];
[a addChildViewController:b];
- 如果a的view上添加了另一个view(otherView) ,然后b的view添加到了otherView上,那么b还是a的子控制器
[a.view addSubview:otherView];
[otherView addSubbiew.b.view];
[a addChildViewController:b];
获得所有的子控制器
@property(nonatomic,readonly) NSArray *childViewControllers;
添加一个子控制器
// oneViewController成为了self的子控制器
// self成为了oneViewController的父控制器
[self addChildViewController:[[oneViewController alloc] init]];
获得父控制器
@property(nonatomic,readonly) UIViewController *parentViewController;
将一个控制器从它的父控制器中移除
// 控制器a从它的父控制器中移除
[a removeFromParentViewController];