如果我添加三个拆分视图如下图所示,第三个拆分视图(称为 splitView-3)将自动为该拆分视图中的自定义视图生成一个约束,例如 customview1 的 Height(42)。结果,我无法在 Interface Builder 中更改 customview1 的高度。
为什么 Interface Builder 会自动为 customview1 生成紫色约束,例如 Height(43)?
任何帮助,将不胜感激。
如果我添加三个拆分视图如下图所示,第三个拆分视图(称为 splitView-3)将自动为该拆分视图中的自定义视图生成一个约束,例如 customview1 的 Height(42)。结果,我无法在 Interface Builder 中更改 customview1 的高度。
为什么 Interface Builder 会自动为 customview1 生成紫色约束,例如 Height(43)?
任何帮助,将不胜感激。
它生成它是因为您在其父视图中手动将视图调整为特定高度。将约束(在大小实用程序面板中)提升为用户约束并将其删除。如果不是一直到那里,那应该会让您获得最大的收益(但是如果没有看到其余的约束配置,我就无法判断)。
约书亚是对的……但我认为有一点需要解释。
Xcode 需要约束来确定所有项目的位置和大小。它之所以坚持紫色,是因为没有足够的限制来满足这些需求,而无需额外增加一些。
因此,Xcode 坚持高度约束,这意味着它无法根据现有约束确定高度。您可以通过添加约束来定义它:
一旦你添加了一个让 Xcode 知道视图高度的约束,那个紫色的要么消失要么变成蓝色,所以你可以删除它并且让它不再回来。