AutoLayout冲突的巧妙解决

最近使用AutoLayout遇到了个问题。具体的来说,有个使用Xib创建的TableViewCell,其中用AutoLayout布局的。布局如下:

AutoLayout冲突的巧妙解决_第1张图片
0F699546-92C8-48E5-AD01-179845958F6B.png

由于业务的需求可能会改变cell的高度,于是将高度约束拉成属性,改变这个高度约束值就可以改变cell的高度了。但是这样会报一堆约束错误信息:

AutoLayout冲突的巧妙解决_第2张图片
7F4032B2-FF25-49B0-ABD3-5FA3491347B8.png

这个错误在iOS 7上可能引起崩溃。

在这种情况下,可以通过修改约束的优先级(Priority)来解决问题。默认情况下约束优先级为1000,此时只需要将优先级调低一点就可以了。


AutoLayout冲突的巧妙解决_第3张图片
change-priorty.png

即当发生约束冲突时,主动放弃低优先级的约束。

你可能感兴趣的:(AutoLayout冲突的巧妙解决)