多行标签和固定大小图标图像的水平 StackView 问题

Horizontal StackView issue for multiline label and fixed size icon image

我想显示一个固定大小为 20px X 20px 的图标图像,当标签只有一行时显示良好,但当标签变成两行时显示不准确 lines.Screenshot。

确保将堆栈视图的 distribution 设置为 fill 并将 alignment 设置为 top(或者居中,如果你想让图标垂直居中)!如果您指定填充的分布并且不更改排列的子视图的内容拥抱和内容压缩优先级,那么在您设置的约束下,固有大小的标签应该占据大部分 space 而图标保持其自然大小。我还建议您在图像视图上设置 20px 宽度约束而不是纵横比,但我认为这不是问题所在。 This 可能有帮助。

这是一个例子:

  • 外部堆栈视图(垂直):对齐 = 填充,分布 = 填充
  • 内部堆栈视图(水平):对齐 = 顶部,分布 = 填充

工作限制。!

  1. 将内部 Stack 视图 Alignment 设置为 Top 并将 Distribution 设置为 按比例填充
  2. 将图标的 width 设置为 20px 的固定(无纵横比,无 身高)
  3. 设置图标内容压缩阻力属性水平 优先于 1000.

附上图片

你的 vStackView(Container) 的属性是什么?

确保您的 vStackView 属性是:

  • 对齐:填充
  • 分配:填充

你的 hStackView(Each Row) 的属性是什么?

确保您的 hStackView 属性是:

  • 对齐方式:Top/Center/Bottom(取决于您的要求)
  • 分配:填充