最初剛工做時,用過一段時間的SB界面式開發,後來換了團隊後你們換爲純代碼佈局。如今針對某些模塊進行可視化佈局開發,因此總結一下當初的約束使用方法,溫故而知新。佈局
如上圖,label控件的1號和2號約束表明左右約束。ui
點擊某一個具體約束,右側就會顯示出此約束的詳細信息。其中Priority的值就是此約束的優先級,分爲三種,required(1000)爲默認的比例等級,High(750)爲高優先級,Low(250)爲低優先級。值越高則優先級越強。
例如:label控件中的1號約束優先級爲1000,2號約束優先級750,那麼就意味着label的右側比左側更容易「改變」。spa
hugging屬性就是抗拉伸屬性,擁有水平方向的抗壓縮和垂直方向的抗壓縮優先級兩個選項。圖片
例如:當控件的hugging值在水平方向上爲250時,它自身的抗拉伸優先級是低於左右兩側的約束的優先級的,若是控件的內容已經多於當前控件能容納的「體積」,或者左右約束的值此刻變小,則這個控件會被拉伸。開發
Content Compression屬性就是抗壓縮屬性,擁有水平方向的抗壓縮和垂直方向的抗壓縮優先級兩個選項。it
例如:當控件的compression值在水平方向低於1000時,而2號約束的優先級爲1000,那麼當2號約束右側的空間內容變大時,則2號約束會把label控件向左「擠」,由於它的抗壓縮值不足以和2號約束優先級值相對抗。io