约束冲突问题:MASLayoutConstraint与NSIBP
2016-08-15 本文已影响0人
xfs_coder
xib或者故事版上拖拉的控件,用代码进行约束,程序没有崩溃,却出现很多错误提示信息,而且部分约束没有效果
所以猜测是因为使用IB,在IB中因为没有给控件任何约束,系统会自动为控件添加NSIBPrototypingLayoutConstraint约束,而后在代码中又使用了masonry对控件添加约束,产生约束冲突
![](https://img.haomeiwen.com/i2661610/05dc81a055be506c.png)
解决方案有两个:
(1)通过removeConstraints:方法删除该控件的所有约束,以及该控件父视图的所有约束,然后重新给该控件以及父视图添加约束
(2)可以在IB中给控件随便添加一个虚约束,然后选中该约束,修改属性,即把remove at build time 选中,让它在编译阶段删除掉这些约束,然后用masonry添加的约束不回在出现该问题,如图所示
![](https://img.haomeiwen.com/i2661610/56d1d071fbc2df42.png)