在 ios 自动布局中使用约束时,较短的约束链是否有好处?

when using constraints in ios autolayout, are there benefits to shorter constraint chains?

例如,当我想让 10 个不同的 UI 元素的主值匹配时,我应该将其中的 9 个元素限制为第一个项目的主值,还是应该创建一个链 1 -> 2 -> 3 -> 4 -> 5 -> 6 ...等等

我想知道性能差异以及出于维护原因我是否应该选择一个。

很难回答一个抽象的问题。

如果您希望 10 个 UI 元素的前导匹配...

首先,几乎可以肯定,将它们放在 UIStackView 中会更好...限制堆栈视图的行距就完成了。

其次,如果您不想(或不能)使用堆栈视图是有原因的,那么答案取决于您可能正在做的其他事情。

假设您希望元素 3“缩进”40 磅?

  • 如果它们都与元素 1 对齐,则只需更改元素 3 的常量。
  • 如果它们是“链接”的,则必须更改元素 3 和 4 的常量。

假设您希望元素 5 到 10“缩进”40 磅?

  • 如果它们都与元素 1 对齐,则必须更改元素 5、6、7、8、9 和 10 的常量。
  • 如果它们是“链接”的,您只需更改元素 5 的常量。

假设您想在 3 和 4 之间“插入”一个元素?还是去掉元素6?

假设以上任何一种 - 或任何数量的其他可能性 - 是“有条件的”并且是对齐的因素?

如您所见,偏好 一个人对另一个人的偏好取决于很多因素。