Swift-- NSLayoutConstraint

NSLayoutConstraint
iOS自带的布局类, 一般我们在XIb中给一个控件进行布局,上左下右各是多少可以随意设置,而不用Xib用代码怎么写,写法如下:

self.view.addSubview(btn)
btn.translatesAutoresizingMaskIntoConstraints = false  //关闭AutoResizing 这种布局方式早就不用了,需要关闭

 [ 
    btn.rightAnchor.constraint(equalTo: self.view.rightAnchor)
    btn.centerYAnchor.constraint(equalTo: self.view.centerYAnchor)
    btn.widthAnchor.constraint(equalTo: btn.heightAnchor)
    btn.heightAnchor.constraint(equalTo: self.view.heightAnchor, multiplier: 0.25)          
              
 ].forEach{$0.isActive = true}

对比使用第三方SnapKit用法

self.view.addSubview(btn)
btn.snp.makeConstraints { (make) in
            make.right.equalTo(self.view.snp.right)
            make.width.equalTo(btn.snp.height)
            make.centerY.equalTo(self.view.snp.centerY)
            make.width.equalTo(self.view.snp.height).multipliedBy(0.25)
        }

可以看到两种写法没有优劣,甚至感觉语法颇相似,习惯哪种而已,今日之前忘记了NSLayoutConstraint苹果提供的代码写法,聊以记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值