cocoa:拆分视图的奇怪紫色约束

时间:2012-09-17 16:12:24

标签: cocoa autolayout

如果我将三个拆分视图添加为下一个图像,则第三个拆分视图(称为splitView-3)将自动为该拆分视图中的自定义视图生成约束,如customview1的高度(42)。因此,我无法在Interface Builder中更改customview1的高度。

为什么Interface Builder会自动为customview1生成紫色约束,如Height(43)?

任何帮助将不胜感激。

enter image description here

2 个答案:

答案 0 :(得分:1)

它会生成它,因为您在其超级视图中手动调整视图的大小。将约束(在大小实用程序面板中)提升为用户约束并删除它。如果不是所有的那样,那应该会给你带来最大的收获(但是如果没有看到其余的约束配置,我就无法判断)。

答案 1 :(得分:1)

约书亚是对的...但我认为有一点点小问题需要解释。

Xcode需要约束来确定所有项目的位置和大小。它坚持使用紫色,因为没有足够的限制来满足这些需求而不需要额外添加一些。

因此,Xcode坚持高度约束,这意味着它无法确定现有约束的高度。您可以通过添加约束来定义它:

  • 高度等于其他项目的高度
  • 通过将底部距离X点设置为远离另一个项目
  • 通过设置相对于其超级视图的底部位置
  • 或......好吧,还有更多,但希望你能得到这个想法

一旦你添加了让Xcode知道视图高度的约束,那个紫色的约会会消失或变成蓝色,这样你就可以删除它并让它不回来。