控制器父子关系的建立原则

  • 如果2个控制器的view是父子关系(不管是直接还是间接的父子关系),那么这2个控制器也应该为父子关系
// 第一种方式
[a.view addSubView b.view];
[a addChildViewController b];

// 第二种方式
[a.view addSubView otherView];
[otherView addSubView: b.view];
[a addChildViewController b];

获得所有的子控制器

@property(nonatomic,readonly) NSArray<__kindof UIViewController *> *childViewControllers

添加一个子控制器


// LZOneViewController成为了self的子控制器
// self成为了LZOneViewController的父控制器
[self addChildViewController:[[LZOneViewController alloc] init]];

// 通过addChildViewController添加的控制器会存在于childViewControllers数组中

获得父控制器

@property(nullable,nonatomic,weak,readonly) UIViewController *parentViewController;

将一个控制器从它的父控制器中移除

// 将控制器a从它的父控制器中移除
[a removeFromParentViewController];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容