父子控制器

控制器父子关系的建立原则
 如果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];

copy

 

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




posted @ 2017-03-16 11:05  laugh  阅读(106)  评论(0编辑  收藏  举报