今天在做一个需求的时候需要在TableView动态控制约束是否起作用,NSConstraint这个类主要有三个方式实现:
1.通过active设置,但这个只在iOS8.0以上能用
2.7.0可以通过对这个约束所附加的'view来addConstraint和remove实现,这里有个小坑,从xib或sb拖出的IBoutlet的storeage必须设成strong,不然remove后就会变成nil之后再add会crash。
3.通过控制priority来实现,增大priority来激活,通过减小来使约束不起作用,这里也有个坑.如果在XIB或SB设置优先级是1000也就是required的就不能之后把他修改成小于1000的,不然crash,所以需要在xib中设置750,之后代码激活用赋值999,取消赋值用250
本文介绍在TableView中动态控制约束的方法,包括使用active属性、通过视图添加和移除约束及调整优先级。并分享了在XIB或SB中设置约束时需要注意的细节。

2023

被折叠的 条评论
为什么被折叠?



