ios - 一行有两个label,第一个label宽度不定,第二个label紧跟第一个label 10像素,请问用masonry怎么解决?
怪我咯
怪我咯 2017-04-18 09:33:08
[iOS讨论组]

一行有两个label,第一个label宽度不定,第二个label紧跟第一个label 10像素,请问用masonry怎么解决?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
迷茫

自动布局的使用需要注意的一点就是最后所有添加的约束,能够计算出所有视图的位置参数。
就是说如果只有两个元素,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中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号