【问题标题】:when using constraints in ios autolayout, are there benefits to shorter constraint chains?在 ios 自动布局中使用约束时,较短的约束链是否有好处?
【发布时间】:2021-05-02 04:05:28
【问题描述】:

例如,当我想使 10 个不同 UI 元素的前导值匹配时,我应该将其中的 9 个约束到第一项的前导值,还是应该创建一个链 1 -> 2 -> 3 -> 4 -> 5 -> 6 ...等

我想知道性能差异以及出于维护原因我是否应该更喜欢一种。

【问题讨论】:

标签: ios autolayout


【解决方案1】:

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

如果你想让 10 个 UI 元素的前导匹配...

首先,您最好将它们放在UIStackView 中...您限制堆栈视图的前导,然后就完成了。

其次,如果您出于某种原因不想(或不能)使用堆栈视图,那么答案取决于您可能还在做什么。

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

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

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

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

假设你想在 3 到 4 之间“插入”一个元素?还是删除元素 6?

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

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

【讨论】:

  • 我明白了。我想我主要担心性能方面的考虑,或者我是否会通过选择一个来破坏某些东西。最好的选择是使用堆栈视图,但有时我无法让堆栈视图做我想做的事情
  • @JamesJoshuaStreet - 堆栈视图使布局的许多方面变得如此简单,对我来说几乎感觉像是“作弊”。一旦你对它们进行了一段时间的试验,你会想知道没有它们你将如何生活。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-04
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多