AutoLayout中的Hugging和Compression优先级

除了一般的约束关系和约束的优先级之外,对于那些根据内容拥有自身大小的View(例如UIImageView,UIButton,UILabel),还可以通过控制这两个优先级。

  • setContentCompressionResistancePriority:forAxis:
    Sets the priority with which a view resists being made smaller than its intrinsic size.

意思就是限制视图小于它的内在大小。

  • setContentHuggingPriority:forAxis:
    Returns the priority with which a view resists being made larger than its intrinsic size.

这个的意思是限制视图大于它的内在大小。

intrinsic size可以理解为View的内容的大小,比如UILabel就是它的字符串占用的空间大小。UIImageView就是它的image的size。

Content Compression Resistance = 不许挤我!
对,这个属性说白了就是“不许挤我”,这个属性的优先级(Priority)越高,越不“容易”被压缩。
也就是说,当整体的空间装不下所有的View的时候,Content Compression Resistance优先级越高的,显示的内容越完整。

Content Hugging = 抱紧!
这个属性的优先级越高,整个View就要越“抱紧”View里面的内容。也就是View的大小不会随着父级View的扩大而扩大。

你可能感兴趣的:(AutoLayout中的Hugging和Compression优先级)