iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?

iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第1张图片
iu
iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第2张图片

iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第3张图片

如图,需求是地址栏最多展示5个字接省略号,地址栏宽度自适应,搜索栏和地址栏的间距固定。

搜索栏和地址栏都是自定义view:在一个view上放一个imageView和一个label。布局用的masonry。

之前处理过两个并排label优先让其中一个宽度自适应的需求:http://www.jianshu.com/p/de470dca664a,于是我把这个方法用到自定义的地址栏:

[self.addressView setContentHuggingPriority:UILayoutPriorityDefaultHigh 
forAxis:UILayoutConstraintAxisHorizontal];

但是无效:

iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第4张图片

我都想用frame了,但是又很疑惑为什么之前的label都有效,于是我对地址栏里的label使用setContentHuggingPriority方法,结果发现可行了:

处理自定义地址栏里的label:

[self.addressLabel setContentHuggingPriority:UILayoutPriorityDefaultHigh 
forAxis:UILayoutConstraintAxisHorizontal];
iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第5张图片

因缺思厅

iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第6张图片
iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?_第7张图片
一饮而尽

你可能感兴趣的:(iOS开发小笔记 | 并排的两个自定义view如何优先让其中一个宽度自适应?)