一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。
前言
SnapKit使用
label_1.snp.makeConstraints { make in
make.center.equalTo(view)
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
make.left.equalToSuperview()
make.right.equalTo(label_0.snp.left)
make.left.equalToSuperview().offset(50)
make.left.equalToSuperview().multipliedBy(0.5)
make.width.equalToSuperview()
make.width.equalTo(30)
make.height.equalTo(label_0.snp.width)
make.right.equalToSuperview()
make.top.equalToSuperview()
make.bottom.equalToSuperview()
}
使用updateConstraints有两个需要注意的:
1.label_1必须要添加到父类里面
2.更新的约束要跟之前的一样,只是修改数值
label_1.snp.updateConstraints { make in
<#code#>
}
例如:
label_1.snp.makeConstraints { make in
make.width.equalTo(30)
}
更新约束
label_1.snp.updateConstraints { make in
make.width.equalTo(10)
}
问题
无法更新约束
记录一下项目开发中,collectionview已经添加到项目中,但是就是无法更新约束的问题.
然后收到更新UI通知进行约束就可以了
所有页面这样写就可以了,但是就是该页面没有效果
最终的解决办法,通过for循环便利subviews拿到控制器中的collectionvview进行重新约束
或者使用tag的方式标记最好
最后的根源找到了,原因就是setUpUI()的方法在项目中多次调用,导致多个collectionview多次添加到view里面,重新设置约束的时候,不知道约束的是哪一个.