父子控制器

来源:互联网 发布:男士洗面奶 知乎 编辑:程序博客网 时间:2024/04/29 16:51

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

  • 如果2个控制器的view是父子关系(不管是直接还是间接的父子关系),那么这2个控制器也应该为父子关系
[a.view addSubview:b.view];[a addChildViewController:b];// 或者[a.view addSubview:otherView];[otherView addSubbiew.b.view];[a addChildViewController:b];

获得所有的子控制器

@property(nonatomic,readonly) NSArray *childViewControllers;

添加一个子控制器

//XMGOneViewController成为了self的子控制器//self成为了XMGOneViewController的父控制器[self addChildViewController:[[XMGOneViewController alloc] init]];// 通过addChildViewController添加的控制器都会存在于childViewControllers数组中

获得父控制器

@property(nonatomic,readonly) UIViewController *parentViewController;

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

// 控制器a从它的父控制器中移除[a removeFromParentViewController];

## UIScrollView内部子控件添加约束的注意点:
- 子控件的尺寸不能通过UIScrollView来计算,可以考虑通过以下方式计算
- 可以设置固定值(width==100,height==300)
- 可以相对于UIScrollView以外的其他控件来计算尺寸
- UIScrollView的frame应该通过子控件以外的其他控件来计算
- UIScrollView的contentSize通过子控件来计算
- 根据子控件的尺寸以及子控件与UIScrollView之间的间距

0 0
原创粉丝点击