扫码关注官方订阅号
一行有两个label,第一个label宽度不定,第二个label紧跟第一个label 10像素,请问用masonry怎么解决?
走同样的路,发现不同的人生
自动布局的使用需要注意的一点就是最后所有添加的约束,能够计算出所有视图的位置参数。就是说如果只有两个元素,label_1和label_2,那么label_1的宽度不定,那么如果它的高度,它离左边界的距离,离上边界的距离,离下边界的距离都确定了的话,他的宽度再被与label_2之间的关系决定了,那么label_1的视图设置也就确定了。我假设lebel_1距离上下左边界距离均为50,宽度不定。label_2距离上下右距离均为50,宽度为100。label_1与label_2之前的位置关系为10个像素。那么代码如下:
对于第一个label来说
make.left.and.top.and.bottom.equalTo(self.view).offset(50.f);
对于第二个label来说
make.right.and.top.and.bottom.equalTo(self.view).offset(50.f); make.left.equalTo(label_1).offset(10.f);
UILabel *label1 = [[UILabel alloc] init]; label1.text = @"123123123123"; UILabel *label2 = [[UILabel alloc] init]; label2.text = @"12312312123123123"; label1.backgroundColor = [UIColor redColor]; label2.backgroundColor = [UIColor blueColor]; [self.view addSubview:label1]; [self.view addSubview:label2]; [label1 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.view).offset(50); make.top.equalTo(self.view).offset(300); }]; [label2 mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(label1); make.left.equalTo(label1.mas_right).offset(10); }];
Label与Button是不需要具体确定宽高的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
自动布局的使用需要注意的一点就是最后所有添加的约束,能够计算出所有视图的位置参数。
就是说如果只有两个元素,label_1和label_2,那么label_1的宽度不定,那么如果它的高度,它离左边界的距离,离上边界的距离,离下边界的距离都确定了的话,他的宽度再被与label_2之间的关系决定了,那么label_1的视图设置也就确定了。
我假设lebel_1距离上下左边界距离均为50,宽度不定。label_2距离上下右距离均为50,宽度为100。label_1与label_2之前的位置关系为10个像素。那么代码如下:
对于第一个label来说
对于第二个label来说
Label与Button是不需要具体确定宽高的