Stackview 安排问题

Posted

技术标签:

【中文标题】Stackview 安排问题【英文标题】:Stackview arrange issue 【发布时间】:2017-05-17 06:28:26 【问题描述】:

我在垂直 StackView 中有一个水平 StackView

水平 StackView 包含一个图像(w=30,h=30)和一个标签。

需要

我需要根据标签内在内容大小使图像和标签水平居中。

所以,它看起来像 ----Space----- image & label -----Space---

我怎样才能做到这一点?

谢谢,

【问题讨论】:

你检查了吗? ***.com/questions/14741713/… 【参考方案1】:

我只使用水平 stackView 使其居中。 我做了什么。

第 1 步:

使我的图像具有特定的宽度和高度。

第 2 步:

两者都插入到水平堆栈视图中并使堆栈视图居中对齐。

已编辑:

如果我在顶部使用垂直堆栈视图,我找不到任何居中标签和图像的问题

【讨论】:

但我的水平 StackView 在垂直 StackView 内。 @nirav:- 你可以查看我的另一个答案【参考方案2】:

你可以在Horizo​​ntal StackView中使用UIView,然后在UIView上添加图片和标签

【讨论】:

感谢您的回答,但由于视图的宽度等于堆栈视图,它也不起作用。我已经试过了。 请看附件图片 但我的水平 StackView 在垂直 StackView 内。【参考方案3】:

请看附件图片

【讨论】:

我的垂直视图有前导,traling,top,bottom = 0,所以这对我不起作用 @nirav:- 请检查新图片 @nirav:我刚刚编辑了我的答案。如果您遇到任何问题,请随时回复。 视图的宽度和高度不能与堆栈视图相同。【参考方案4】:

因为 VerticalStackView 强制 Horizo​​ntalStackView 具有相同的宽度,所以您必须将 imageView 和 label 包装在 UIView 中。像这样

【讨论】:

【参考方案5】:

添加两个额外的视图,我将其命名为视图 1 和视图 2(绿色)在您的图像和标签的左右两侧,设置两个视图宽度相等,以便您的 imageView 和标签自动居中,不要忘记设置宽度对于 imageView 和标签。如果需要,将视图 1 和视图 2 设置为清除颜色或在其他视图视图下(以查看背景、其他视图、与其他视图的交互...)。

【讨论】:

以上是关于Stackview 安排问题的主要内容,如果未能解决你的问题,请参考以下文章

Stackview inside 其他stackview宽度问题

stackView 中的 StackView 不能通过 swift 使用它的间距

iOS:更改 StackView 中 TextField 的高度(在 StackView 内)

UIView 内的 StackView - 自动高度

为啥我的 StackView 不工作?元素完全移位

如何在 StackView 中展开 UITableView?