1.Content Hugging priority ?
直譯過來就是? 內容 緊靠 優先級 ? ? 抗拉伸優先級 (小名:別扯我),該優先級越高,越晚輪到被拉伸。
content Hugging默認優先級250.
案例分析
假設設置一個按鈕與父控件的右邊約束為-10,并設置此條的優先級為251,大于別的約束,那么系統就會保證這-10的間距,而自動的拉長按鈕的寬度,如圖:
如果把右邊的約束的優先級設置為249 ,那么系統就保證按鈕的正常寬度,不被拉伸,所以就如下
2.Content Compression Resistance priority
直譯過來就是? 內容 壓縮 阻止 優先級? ? ? 抗壓縮優先級? (小名:別擠我),該優先級越高,則越晚輪到被壓縮。
Content Compression Resistance默認就是750
案例說明:
當拖拽一個button的到view中,系統會根據字體和圖片自動計算button本身的尺寸,?
假設設置按鈕左邊與右邊的束與父控件都為100, 默認的Content Compression 的優先級是 750,如果內容超出,設置右邊的約束優先級為751,這種情況下按鈕顯示的狀態系統就會為了保證右邊的高優先級的約束,壓縮按鈕內容
此時autolayout系統會去首先滿足此constraint,
如果把右邊約束的優先級更改為749 Horizontal也就是右邊的約束的優先級小于button自身計算的尺寸的優先級,所以會顯示成以下的情況.
這時就是先滿足了Content Compression Resistance的constraint,因為其優先級高。