SnapKit是時代的洪流,是使用純code layout的第一隻號角。上次我們寫了更新約束的功能,但是如果我要把整個約束移除重做呢?
首先我們來了解了解,重做約束怎麼使用。
重做約束的本質就是:去掉已有的所有約束, 重新做約束,記住,是做約束, 也就是說, 使用了remakeConstraints後,重做的約束必須要能確定相應視圖的大小和位置, 之前makeConstraints的約束已經不會存在了。
資料來源:https://www.jianshu.com/p/2bad53a2a180
新增一個新的約束
imageView.snp.makeConstraints { (make) in
make.top.equalTo(textView.snp.bottom).offset(space)
make.width.equalTo(textView.snp.width)
// make.height.equalTo(imageView.snp.width)
make.height.equalTo(60)
make.centerX.equalTo(textView.snp.centerX)
}
在達成某個條件後,他會重做約束。
imageView.snp.remakeConstraints { (make) in
make.right.equalTo(imageView).offset(-10)
make.bottom.equalTo(imageView).offset(-10)
make.height.equalTo(imageView).multipliedBy(0.1)
make.width.equalTo(imageView).multipliedBy(0.1)
}
這是重做約束,你會發現。
而更新約束,並不是沒有完整的約束條件,是因為他在已有完整的約束下更新特定的約束條件。