iOS autolayout的Content Hugging 和 Content Compression Resistance

躍然發表於2015-06-12

Content Hugging 和 Content Compression Resistance

這兩個屬性對有intrinsic content size的控制元件(例如button,label)非常重要。通俗的講,具有intrinsic content size的控制元件自己知道(可以計算)自己的大小,例如一個label,當你設定text,font之後,其大小是可以計算到的。關於intrinsic content size官方的解釋:

Hugging priority 確定view有多大的優先順序阻止自己變大。

Compression Resistance priority確定有多大的優先順序阻止自己變小。

Hugging priority 確定view有多大的優先順序阻止自己變大。

Compression Resistance priority確定有多大的優先順序阻止自己變小。

很抽象,其實content Hugging就是要維持當前view在它的optimal size(intrinsic content size),可以想象成給view新增了一個額外的width constraint,此constraint試圖保持view的size 不讓其變大

view.width <= optimal size

此constraint的優先順序就是通過上面的方法得到和設定的,content Hugging預設為250.

Content Compression Resistance就是要維持當前view在他的optimal size(intrinsic content size),可以想象成給view新增了一個額外的width constraint,此constraint試圖保持view的size不讓其變小
view.width >= optimal size
此預設優先順序為750.

相關文章