ios – InterfaceBuilder添加了不可删除的约束

我正在使用
Xcode 8构建iOS 9并使用自动布局.

有时,当我在Interface Builder中安装约束时,会立即发生冲突.当我点击红色披露并查看冲突的约束时,我会看到我刚刚安装的那个和另一个冲突的.当我点击我安装的约束时,它突出显示.当我点击冲突的约束时,它不会突出显示.当我单击红点以删除约束时,冲突约束旁边的复选框将显示为灰色且无法选中.当我返回文档检查器或大小检查器时,我没有看到它所适用的对象列出的冲突约束.

因此,我认为Interface Builder添加了无法删除的约束.我的问题是这些不可修复的约束无济于事.例如,我向堆栈视图内部的视图添加宽度> = 50约束,并发现它与系统添加的width = 0约束无法删除.

有谁知道为什么会这样或者我怎么能绕过它?谢谢.

最佳答案 要避免冲突,请将宽度约束的优先级降低到250. UIStackView的系统添加约束优先级为1000.如果在堆栈视图中隐藏视图,则会将宽度(或高度)约束常量设置为零.

点赞