iOS約束NSLayoutConstraint

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ù)就向反方向

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容