SDAutoLayout
沈实
2023-12-01
* 某视图调用方法 xxxxx.sd_layout
subview.sd_layout
* 设置其定位/属性 .xxxxx(xxx,x)
* 设置视图相对于参照视图的定位
* self.view1-某参照视图
.leftSpaceToView(self.view1, 10)//左边距
.rightSpaceToView(self.view1, 10)//右边距
.topSpaceToView(self.view1, 10)//上边距
.bottomSpaceToView(self.view1,10);//下边距
* 设置宽高 .xxxxx(x)
.heightIs(30)
.widthIs(30)
* 设置宽高等于参照视图(倍数) .xxxxx(xxx,x)
* subview1-某参照视图
.widthRatioToView(subview1, 1) //参数等于1时,表示与参照视图等宽
.heightRatioToView(subview1,2) //参数不等于1时,表示高度等于参照视图的x倍
* 设置边距等于参照视图
* subview1-某参照视图
.leftEqualToView(subview1)
.rightEqualToView(subview1)
.topEqualToView(subview1)
.bottomEqualToView(subview1)
* 设置与参照视图x/y轴中心对齐
.centerXEqualToView(self.view)
.centerYEqualToView(self.view)
* 设置文本内容自适应(lable) .autoHeightRatio(x);
.autoHeightRatio(0); // 设置文本内容自适应,如果这里的参数为大于0的数值则会以此数值作为view的高宽比设置view的高度
* 设置button根据文字size自适应
* Padding: -设置button的文字与button左右两边边界的距离
[btn setupAutoSizeWithHorizontalPadding:10 buttonHeight:25];
* 设置view/cell高度根据子视图其内容自适应
* bottomMargin-底部余留高度
[self.view1 setupAutoHeightWithBottomView:subview2 bottomMargin:10];
* 设置view宽度根据子视图其内容自适应
* rightMargin-右边余留高度
[self.view1 setupAutoWidthWithRightView:subview2 rightMargin:10];
* 将子view添加进父view
[self.view1 sd_addSubviews:@[subview1, subview2]];