我一直喜歡用純代碼寫項目,很少用XIB,但是純代碼有時候速度會比較慢,偶爾也用一下XIB也是不錯的選擇
原文地址:http://blog.it985.com/11997.html
約束,就是對控件的限制條件,限制條件的作用就是爲了讓我們搭建頁面適應不同的屏幕,當然也是頁面的兼容性,兼容多個屏幕
下面切入正題,如何爲控件添加約束。添加約束主要用到下面的三個部分。
從左到右:align、pin、resolve auto layout issues。
1、align
第一個模塊主要是對齊的,那麼對齊就要多個控件對齊,譬如:兩個字空間左對齊、下對齊、X軸對齊、字控價和父控件中心對齊等
使用align主要是考慮多個控價對齊問題
2、pin
第二個模塊主要是單個控件的屬性,控件在父控件中的位置,控件的寬高等,主要是針對一個控件而言的。
3、resolve auto layout issues
第三個模塊主要是對約束進行編輯的,包括刪除,添加,重置約束等。
添加約束的幾個規則
情況1:約束控件距離父控件的四周的距離
第一種比較簡單,也比較好理解,一個控件的上下左右的距離都控制好了,控件也就控制好了,如果你切換不同的屏幕時,控件距離屏幕邊框的距離不變,會改變控件的大小
xib中還是正方形的,但是當iPhone的屏幕上,變形了
情況2:控制控件相鄰的兩條邊距離父控件的距離和控件的寬高
控制控件相鄰的兩條邊距離,也就控制了控件的左上角的(x,y),再控制控件的寬高,就能控制控件了。
情況3:控件XY軸居中,固定控件寬高
情況4:控件X或Y居中,另一個方向的邊距離父控件的距離,寬高