NSLayoutConstraint

item1.attribute1 = multiplier × item2.attribute2 + constant簡而言之就是進(jìn)行約束的計(jì)算并使用NSLayoutConstraint創(chuàng)建這個(gè)約束,并添加

如下列代碼:

需要注意兩點(diǎn):

一個(gè)是約束添加調(diào)用者需要是父類調(diào)用addConstraint,如果是子類自己添加約束會(huì)報(bào)錯(cuò)

第二需要將子類的translatesAutoresizingMaskIntoConstraints設(shè)置為false,否則會(huì)將AutoresizingMask轉(zhuǎn)成約束進(jìn)而覆蓋或者不可知影響

translatesAutoresizingMaskIntoConstraints:官方說明如圖

需要注意,如果此translatesAutoresizingMaskIntoConstraints屬性設(shè)置為true,則系統(tǒng)根據(jù)view的autoresizing mask創(chuàng)建一系列的約束使得view的UI特性和autoresizing mask制定的一致。這個(gè)屬性不會(huì)和frame等沖突

因?yàn)閍utoresizing mask完全制定了view的size和position,所以一旦引入其他的約束就一定會(huì)沖突,因此如果想動(dòng)態(tài)修改UI,則設(shè)置translatesAutoresizingMaskIntoConstraints為false,然后進(jìn)行約束添加

xib(storyboard一樣,因storyboard知識(shí)xib的大包裝而已)默認(rèn)設(shè)置為false,代碼創(chuàng)建的view則默認(rèn)為true

20180411

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

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

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