gpt4 book ai didi

ios - 具有动态大小的 Cell 的复杂 AutoLayout

转载 作者:行者123 更新时间:2023-11-29 02:01:51 25 4
gpt4 key购买 nike

我有一个单元格,其中包含一个带有 10 个 subview 的容器(其中两个只是边界,其他是标签)。该方案看起来像这样。

enter image description here

动态标签可能包含巨大的文本,因此单元格应符合适当的大小以适应内容。问题是如何手动设置所有约束...我自己尝试了十几次,但似乎我不太擅长这一点。 TableView 支持自动标注行高并使用自定义估计高度。

在 Storyboard 中它看起来是这样的。

enter image description here

其中蓝色 View 是 View C 的 subview 。后面的灰色 View 是 View B。粗体标签是静态的,其他标签是动态的。

Demo project .

如何设置约束?

提前非常感谢您!

最佳答案

我设法设置了您的约束,以便您获得所需的结果。这是我得到的:

我希望这就是您想要的样子。

这里是 project 的链接。我将尝试解释我是如何添加约束的,以使其更有意义。

  • 首先,您有 View B,它需要与 contentView 一样大。为此,您将顶部/底部/左侧/右侧约束添加到 superView。因为您使用的是自动尺寸,所以如果添加优先级为 1000(最大优先级)的所有约束,则运行时约束会出现一些错误。这是因为,在可以自动计算像元大小之前,它为零,因此约束崩溃了。因此,我将顶部和尾部空格的优先级设置为999,这样您就不会再看到错误日志了。结果是一样的。
  • 那么 View C需要(上或下)/左/右和高度约束
  • 然后您需要添加标签的约束。由于您需要正确的多行,因此约束需要指定这种特殊情况的垂直布局。因此,您有如下内容:第一个标签:顶部/左侧为名称标签,右侧为 super View 。所有其他的都从上一个到下一个,从下到下一个。
  • 对于不需要调整大小的标签,您只需要父级的前导空间、右侧标签的水平空间和静态宽度。此外,您还需要一个约束来将顶部与右侧的标签对齐。

这是我得到的结果:

希望我的解释有意义,如果您有疑问,请告诉我。祝您的项目顺利!

关于ios - 具有动态大小的 Cell 的复杂 AutoLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30268865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com