iOS开发笔记 | 并排的两个label如何优先让其中一个宽度自

2017-11-07  本文已影响53人  远飞

本文转自:http://www.jianshu.com/p/de470dca664a

这是最近做项目时遇到的需求,这里记录一下。

如下,左右两个label,需求是优先左边的label宽度自适应,然后右边的label紧挨左边label并且高度自适应。

当右边label的内容较少时是这样的:


当右边label的内容较多时是这样的:


如果我们只设置约束:

[label1 mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.mas_equalTo(0);

make.top.mas_equalTo(400);

make.height.mas_equalTo(18);

}];

[label2 mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.mas_equalTo(label1.mas_right);

make.top.mas_equalTo(label1);

make.right.mas_offset(0);

}];

效果是这样的:


显然不满足需求。

为了优先让左边的label宽度自适应,我们可以设定:左边的label不准扯长。也就是:

// 水平方向别扯我

[label1 setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal];

setContentHuggingPriority可以通俗理解成“别扯我”的优先级,优先级越高,越不能被扯长。

作者:无夜之星辰

链接:http://www.jianshu.com/p/de470dca664a

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇 下一篇

猜你喜欢

热点阅读