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将不會被壓縮,因而标簽上的文本也就不會被截斷。