要求宽高200的vIEw,通过代码,使得vIEw在距离父控件的右下角20边距处
/*约束的设置,控件内部约束由自己添加,比如宽高,如果是与其他的
控件约束那么有父控件添加
*创建约束NSLayoutConstraint参数说明:
* item自己
* attribute
* relatedBy大于等于小于等于等于
* toItem另外一个控件
* attribute另一个控件的熟悉
* multiplIEr乘以多少
* constant :加上多少
* NSLayoutConstraint :某个控件的属性值等于另外一个控件的属性值
乘以多少加上多少
*添加约束addConstraint
*/
let blueVIEw =UIVIEw();
blueVIEw.backgroundcolor =UIcolor.bluecolor()
self.vIEw.addSubvIEw(blueVIEw)//系统默认会给autoresizing 约束
// 关闭autoresizing不关闭否则程序崩溃
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,constant:200)
blueVIEw.addConstraint(height)//自己添加约束
//右边约束
let right:NSLayoutConstraint =NSLayoutConstraint(item: blueVIEw,attribute: NSLayoutAttribute.Right,toItem:self.vIEw,attribute:NSLayoutAttribute.Right,multiplIEr:1.0,constant: -20)
blueVIEw.supervIEw!.addConstraint(right)//父控件添加约束
//下边约束
let bottom:NSLayoutConstraint =NSLayoutConstraint(item: blueVIEw,attribute: NSLayoutAttribute.Bottom,attribute:NSLayoutAttribute.Bottom,constant: -20)
blueVIEw.supervIEw!.addConstraint(bottom)//父控件添加约束
效果图:
总结
以上是内存溢出为你收集整理的Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇全部内容,希望文章能够帮你解决Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)