iOS約束NSLayoutConstraint

NSLayoutConstraint的幾個屬性;
使用:
WithItem:要約束的對象
attribute:約束的類型(約束對象的什么位置)
relatedBy:與對象的關(guān)系
toItem:參考對像
attribute:這個參數(shù)是要告訴要約束的對象把你放到參考對象的什么位置
multiplier:距離的倍數(shù)
constant:約束的距離
[NSLayoutConstraintconstraintWithItem:_myView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:10],
要實(shí)現(xiàn)自動布局,必須把該屬性設(shè)置為no
self.translatesAutoresizingMaskIntoConstraints=NO;//
類型不同對應(yīng)的位置數(shù)據(jù)正負(fù)不同
Top Left是正數(shù)對應(yīng)在參考對象下部和右邊也就是在里面
RightBottom是正數(shù)對應(yīng)在參考對象下部和右邊也就是外面,是負(fù)數(shù)就向反方向

[NSLayoutConstraint constraintWithItem:note
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:views
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:-10]];
介紹NSLayoutConstraint的使用
WithItem:這個一般是會填寫被約束的對象
attribute:是規(guī)定約束對象的那個部位
relatedBy:參考者與約束對象的關(guān)系
toItem:參考者
attribute:參考對象的位置與約束對象是相同的
multiplier:計(jì)數(shù)的倍數(shù)
constant:這就是約束的計(jì)數(shù)(下面對它做一個系統(tǒng)的介紹)
剛開始使用的時候可能不太容易上手,它沒有像storyboard那樣有視圖畫看著直觀。廢話不多說下面就來具體使用和理解
首先我要確定的是那個做約束對象的參考對象,確定好了就可以開始做約束了


上部是代碼,下部是效果。這里的黃色是一個參考對象(也是我們代碼中的views這個對象),紅色部分是一個約束對象(note這個對象)。
代碼理解,要約束的是note,約束的類型是頭部,設(shè)置他們是對立關(guān)系,約束的參考對象views,我要將約束對象的頭部約束到參考對象的那個部位,設(shè)置約束倍數(shù),設(shè)置約束的計(jì)數(shù)。
我的代碼中設(shè)置的attribute:這個參數(shù)是相同可能對理解不是太大,那我下面改動一下做一個詳解。通過對上面代碼理解那么我要將note約束到views的下部是不是就改動《約束對象的頭部約束到參考對象什么部位,也就是第二個attribute:》那就改動一下


結(jié)果是對的,說明理解是沒有問題
觀察細(xì)致的人可能會疑惑為什么下面為什么會出現(xiàn)一個-10計(jì)數(shù)?那我就把-10該為10會出現(xiàn)什么效果了


Top Left是正數(shù)對應(yīng)在參考對象下部和右邊也就是在里面
ightBottom是正數(shù)對應(yīng)在參考對象下部和右邊也就是外面,是負(fù)數(shù)就向反方向