【问题标题】:How to stop stackview from growing beyond tableView cell content view (Programmatic UI)如何阻止 stackview 超出 tableView 单元格内容视图(程序化 UI)
【发布时间】:2022-08-24 06:01:24
【问题描述】:

所以我最近一直在尝试程序化 UI,但我遇到了一个问题,stackView 的增长速度超过了UITableViewCell contentView。最初,我收到constraints ambiguously suggest a height of zero 错误,所以我为imageView 分配了一个高度,但没有为stackview 分配一个高度,因为我希望它根据其内容而增长(在这种情况下,3 UIlabelsnumberOfLines = 0)。该错误消失了,UI 看起来几乎接近我想要的,但我无法弄清楚 stackview 的增长问题。

  • 请不要有代码图片。代码是文本;复制和粘贴。
  • 为便于将来参考,放入类似代码块的最简单方法是单击格式化工具栏上的 {} 按钮。还可以环绕很短每边带有 3 个反引号 (`) 的代码段。

标签: swift xcode uitableview uistackview


【解决方案1】:

padding 为 10,您将底部 Anchor 设置为单元格底部 + 10,因此您可以将最后一行替换为

textContentStackView.bottomAnchor.contraint(equalTo: bottomAnchor,constant: -padding)

另一件事是,如果您的行高为 n,则您的行高与堆栈有关,堆栈视图的高度为 n-20。所以你的标签的高度是堆栈视图高度 - 10 / 3 因为堆栈中有 3 个项目和 5 个填充。调整你的字体大小

【讨论】:

  • 我不确定我是否同意你关于 centerYAnchor 很重要的说法,但你对堆栈的 bottomAnchor 绝对是正确的。
  • 是的,我忘记了你给了底部和顶部,所以 centerY 没用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多