2

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

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

任何帮助,将不胜感激。

在此处输入图像描述

4

2 回答 2

1

它生成它是因为您在其父视图中手动将视图调整为特定高度。将约束(在大小实用程序面板中)提升为用户约束并将其删除。如果不是一直到那里,那应该会让您获得最大的收益(但是如果没有看到其余的约束配置,我就无法判断)。

于 2012-09-17T17:22:24.460 回答
1

约书亚是对的……但我认为有一点需要解释。

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

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

  • 高度等于其他一些项目的高度
  • 通过设置底部距离 X 点远离另一个项目
  • 通过设置相对于它的超级视图的底部位置
  • 或者....好吧,还有很多,但希望你能明白

一旦你添加了一个让 Xcode 知道视图高度的约束,那个紫色的要么消失要么变成蓝色,所以你可以删除它并且让它不再回来。

于 2012-09-26T20:56:38.500 回答