iOS开发 - Content hugging priority & Content compression resistance priority
2016-09-02 11:22
591 查看
1. 什么是Content hugging priority
你可以把它想象成一根放在视图上的橡皮筋。
这根橡皮筋会组织视图超过它本身的固有大小(intrinsic content size)。
它存在一个优先级,从0到1000。
1000表示视图绝对不能超过intrinsic content size。
我们来看个例子:
上图中有两个横向排列的标签控件(label),并且你也已经设置好了约束。
这个会工作正常,直到父视图变宽的时候。
那么,问题来了。
如果父视图变宽了,那个label应该变宽呢?
这个时候正是我们用到Content hugging priority的时候。
拥有高优先级Content hugging priority的视图控件将不会被拉伸。
你可以把这个优先级想象成橡皮筋的抗拉伸力。
这个优先级越大,视图将越希望保持自己的固有大小(intrinsic content size)。
2. Content compression resistance priority
和Content hugging priority相反,Content compression resistance priority是用来抵抗压缩的。
简单的来说,前者我们讨论过的,是抵抗拉伸,也就是抵抗变大,而后者是抵抗压缩,也就是抵抗变小。
还是上面的例子中,当父视图变小的时候,拥有高优先级的label将不会被压缩,因而标签上的文本也就不会被截断。
你可以把它想象成一根放在视图上的橡皮筋。
这根橡皮筋会组织视图超过它本身的固有大小(intrinsic content size)。
它存在一个优先级,从0到1000。
1000表示视图绝对不能超过intrinsic content size。
我们来看个例子:
上图中有两个横向排列的标签控件(label),并且你也已经设置好了约束。
这个会工作正常,直到父视图变宽的时候。
那么,问题来了。
如果父视图变宽了,那个label应该变宽呢?
这个时候正是我们用到Content hugging priority的时候。
拥有高优先级Content hugging priority的视图控件将不会被拉伸。
你可以把这个优先级想象成橡皮筋的抗拉伸力。
这个优先级越大,视图将越希望保持自己的固有大小(intrinsic content size)。
2. Content compression resistance priority
和Content hugging priority相反,Content compression resistance priority是用来抵抗压缩的。
简单的来说,前者我们讨论过的,是抵抗拉伸,也就是抵抗变大,而后者是抵抗压缩,也就是抵抗变小。
还是上面的例子中,当父视图变小的时候,拥有高优先级的label将不会被压缩,因而标签上的文本也就不会被截断。
相关文章推荐
- Content Hugging Priority & Content Compression Resistance Priority 区别
- IOS开发之Autolayout——“Content Compression Resistance”和“Content Hugging”
- 只有 20% 的 iOS 程序员能看懂:详解 intrinsicContentSize 及 约束优先级/content Hugging/content Compression Resistance
- 约束高级属性Content Compression Resistance Priority和Content Hugging Priority
- Cocoa Autolayout: content hugging vs content compression resistance priority
- AutoLayout之intrinsicContentSize,Content Hugging Priority,Content Compression Resistance Priority
- 只有20%的iOS程序员能看懂:详解intrinsicContentSize 及 约束优先级/content Hugging/content Compression Resistance
- IOS开发之Autolayout——“Content Compression Resistance”和“Content Hugging”
- iOS AutoLayout阅读笔记1----->Hugging Priority & Compression Resistance Priority
- iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority
- ios开发——response之Http报头Accept&Content-Type
- AutoLayout之Content Hugging Priority和Content Compression Resistance Priority
- iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority
- iOS知识---针对多个显示内容空间不定内容长度的显示问题Content Hugging 和 Content Compression Resistance
- iOS AutoLayout中的Content Hugging 和 Content Compression Resistance优先级问题
- Xcode之Autolayout -- "Content Hugging"和"Content Compression Resistance"
- 详解intrinsicContentSize 及 约束优先级/content Hugging/content Compression Resistance
- iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority
- iOS autolayout的Content Hugging 和 Content Compression Resistance
- iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority