1.equalTo和mas_equalTo的区别:
mas_equalTo后边跟基础数据类型和对象都可以;
equalTo后边只能跟基础数据类型;
2.链式调用等于某个值
make.left.top.bottom.right.mas_equalTo(self.view).offset(0);
或者
make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(10, 10, 10, 10));
3.1
知道UIScrollView的contentSize来设置约束
给UIScrollView添加的约束是定义其frame,设置contentSize是定义其内部大小。UIScrollView进行addSubview操作,都是将其子视图添加到contentView上。
所以,添加到UIScrollView上的子视图,对UIScrollView添加的约束都是作用于contentView上的。只需要按照这样的思路给UIScrollView设置约束,就可以掌握设置约束的技巧了。
3.2 UIScrollView随着内容的增多变化
这时候只需要设置子视图的上下左右,以及高度,就可以进行滚动了。高度可以把UIScrollView给撑开;
[self.grayView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.redView.mas_left);
make.top.mas_equalTo(self.redView.mas_bottom);
make.width.mas_equalTo(200);
make.height.mas_equalTo(1000);
make.bottom.mas_equalTo(self.scrollView);
}];
4.添加masonry动画
masonry动画和UIView动画一样,只是需要把父元素重新布局,就是下边的粗体代码;
[UIView animateWithDuration:10 animations:^{
[self.redView mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(200);
}];
self.redView.alpha = 0.5;
[self.view layoutIfNeeded];
}];
网友评论