Ios 水平堆叠视图的正确对齐和分布选择

Ios 水平堆叠视图的正确对齐和分布选择,ios,swift,uistackview,Ios,Swift,Uistackview,下面是显示我想要实现的设计的屏幕截图 为此,我使用的是包含其他四个水平堆栈视图的垂直堆栈视图。然后,每个水平堆叠视图包括一个图像和一个标签,如下所示 我设置了水平堆叠视图的对齐,并尝试更改分布。然而,我无法得到预期的结果 什么对齐/分布组合可以产生预期效果? 或者我应该取消水平堆栈视图并在垂直堆栈视图中填充视图吗?您可以使用tableView来完成此操作,但是如果您有一些项目,那么 设置主stackview和每个内部stackview的间距应提供所需的填充 要获得完整的外观,请查看演示

下面是显示我想要实现的设计的屏幕截图

为此,我使用的是包含其他四个水平堆栈视图的垂直堆栈视图。然后,每个水平堆叠视图包括一个图像和一个标签,如下所示

我设置了水平堆叠视图的
对齐
,并尝试更改
分布
。然而,我无法得到预期的结果

什么
对齐
/
分布
组合可以产生预期效果?
或者我应该取消水平堆栈视图并在垂直堆栈视图中填充视图吗?

您可以使用tableView来完成此操作,但是如果您有一些项目,那么

设置主stackview和每个内部stackview的间距应提供所需的填充

要获得完整的外观,请查看演示

按照以下步骤操作

1.
视图添加带有
顶部、前导和尾随约束的
垂直堆栈视图

Alignment - Fill
Distribution - Fill
Spacing - 20
2.将1
水平堆叠视图添加到
垂直堆叠视图

Alignment - Fill
Distribution - Fill
Spacing - 20
3.添加
imageView
,在上面的
水平堆叠视图中将
高度和宽度约束设置为30

Alignment - Fill
Distribution - Fill
Spacing - 20
4.
垂直堆栈视图中复制
水平堆栈视图
,复制次数根据您的要求而定


你能公布你得到的结果吗?您还可以尝试在水平堆叠视图中对所有图标使用垂直堆叠视图,对所有标签使用垂直堆叠视图。您现在得到了什么?发布屏幕快照解决方案可行,但我想知道的一件事是,如果我们设置图像宽度和高度,那么这是否会阻止不同大小设备的图像缩放(1x、2x、3x图像)?不,这不会阻止它,而是由您来增加宽度/高度。这可以在不定义图像高度和宽度的情况下完成(步骤3)[请参考我在Sh_Khan回答下的评论]?第4步似乎不是必需的。如果您有小尺寸的图像,您将不需要它。将imageView的contentMode设置为ScaleSpectFit将起作用。并且不需要ya Sept-4。错误地添加了这一点。