Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇
要求?寬高200的view,通過代碼,使得view在距離父控件的右下角20邊距處
?
/*?約束的設(shè)置,控件內(nèi)部約束由自己添加,比如寬高,如果是與其他的
?? ? ? ? ??控件約束那么有父控件添加
?? ? ? ?
? ? ? ??*創(chuàng)建約束?NSLayoutConstraint??參數(shù)?說明:
? ? ? ? * item?自己
? ? ? ? * attribute
? ? ? ? * relatedBy?大于等于?小于等于?等于
? ? ? ? * toItem?另外一個(gè)控件
? ? ? ? * attribute?另一個(gè)控件的熟悉
? ? ? ? * multiplier?乘以多少
? ? ? ? * constant :?加上多少
? ? ? ? * NSLayoutConstraint :?某個(gè)控件的屬性值?等于?另外一個(gè)控件的屬性值?
? ? ? ? ? ? ? ? ? ? ? ?乘以多少?加上多少
?? ? ? ?
? ? ? ? *?添加約束?addConstraint
? ? ? ? */
? ? ? ?let blueView =UIView();
? ? ? ? blueView.backgroundColor =UIColor.blueColor()
? ? ? ? self.view.addSubview(blueView)//系統(tǒng)默認(rèn)會給autoresizing 約束
// 關(guān)閉autoresizing?不關(guān)閉否則程序崩潰
? ? ? ? blueView.translatesAutoresizingMaskIntoConstraints =false
? ? ? ?//寬度約束
? ? ? ?let width:NSLayoutConstraint =NSLayoutConstraint(item: blueView, attribute: NSLayoutAttribute.Width, relatedBy:NSLayoutRelation.Equal, toItem:nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier:0.0, constant:200)
?? ? ? ?
? ? ? ? blueView.addConstraint(width)//自己添加約束
?? ? ? ?
? ? ? ?//高度約束
? ? ? ?let height:NSLayoutConstraint =NSLayoutConstraint(item: blueView, attribute: NSLayoutAttribute.Height, relatedBy:NSLayoutRelation.Equal, toItem:nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier:0.0, constant:200)
?? ? ? ?
? ? ? ? blueView.addConstraint(height)//自己添加約束
? ? ? ?//右邊約束
? ? ? ?let right:NSLayoutConstraint =NSLayoutConstraint(item: blueView, attribute: NSLayoutAttribute.Right, relatedBy:NSLayoutRelation.Equal, toItem:self.view, attribute:NSLayoutAttribute.Right, multiplier:1.0, constant: -20)
?? ? ? ?
? ? ? ? blueView.superview!.addConstraint(right)//父控件添加約束
? ? ? ?//下邊約束
? ? ? ?let bottom:NSLayoutConstraint =NSLayoutConstraint(item: blueView, attribute: NSLayoutAttribute.Bottom, relatedBy:NSLayoutRelation.Equal, toItem:self.view, attribute:NSLayoutAttribute.Bottom, multiplier:1.0, constant: -20)
? ? ? ??
? ? ? ? blueView.superview!.addConstraint(bottom)//父控件添加約束
效果圖:
轉(zhuǎn)載于:https://www.cnblogs.com/Free-Thinker/p/5786878.html
總結(jié)
以上是生活随笔為你收集整理的Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。