SDAutolayout用法大全
以UIView为例:
UIView *view1 = [UIView new];
view1.sd_layout都是点语法
距离左边: view1.sd_layout.leftSpaceToView(self.view,20) 参数1是view1左边以哪个视图为基准,参数2是具体的数值 距离上下右就把left换成对应的位置就行
对齐:leftEqualToView(self.view,20) 需要其它对齐,将左变成需要的位置
宽高:1.具体数值:heightIs(100) widthIs(20)
2.根据其他视图的比例来:heightRatioToView(self.view,0.5) view1的高是view的0.5倍,就是一半
widthRatioToView(self.view,0.5) view1的高是view的0.5倍,就是一
中心:centerYEqualToView(self.view)centerXEqualToView(self.view)
Label内容自适应:
① label的父视图根据label的高度自适应
UILabel *subview1 = [UILabelnew]; // 初始化子label
subview1.text =@"这个label会根据这些文字内容高度自适应;而这个父view会根据label和view具体情况实现高度自适应。\nGot it! OH YAEH! 这个label会根据这些文字内容高度自适应;而这个父view会根据label和view具体情况实现高度自适应。\nGot it! OH YAEH!";
UIView *subview2 = [UIViewnew]; // 初始化子view2
subview2.backgroundColor = [UIColororangeColor];
// 将子view添加进父view
[self.view1sd_addSubviews:@[subview1, subview2]];
subview1.sd_layout
.leftSpaceToView(self.view1,10)
.rightSpaceToView(self.view1,10)
.topSpaceToView(self.view1,10)
.autoHeightRatio(0);// 设置文本内容自适应,如果这里的参数为大于0的数值则会以此数值作为view的高宽比设置view的高度
subview2.sd_layout
.topSpaceToView(subview1,10)
.widthRatioToView(subview1,1)
.heightIs(30)
.leftEqualToView(subview1);
// view1使用高度根据子view内容自适应,所以不需要设置高度,而是设置“[self.view1 setupAutoHeightWithBottomView:testView bottomMargin:10];”实现高度根据内容自适应
self.view1.sd_layout
.leftSpaceToView(self.view