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】:你可以在Horizontal StackView中使用UIView,然后在UIView上添加图片和标签
【讨论】:
感谢您的回答,但由于视图的宽度等于堆栈视图,它也不起作用。我已经试过了。 请看附件图片 但我的水平 StackView 在垂直 StackView 内。【参考方案3】:请看附件图片
【讨论】:
我的垂直视图有前导,traling,top,bottom = 0,所以这对我不起作用 @nirav:- 请检查新图片 @nirav:我刚刚编辑了我的答案。如果您遇到任何问题,请随时回复。 视图的宽度和高度不能与堆栈视图相同。【参考方案4】:因为 VerticalStackView 强制 HorizontalStackView 具有相同的宽度,所以您必须将 imageView 和 label 包装在 UIView 中。像这样
【讨论】:
【参考方案5】:添加两个额外的视图,我将其命名为视图 1 和视图 2(绿色)在您的图像和标签的左右两侧,设置两个视图宽度相等,以便您的 imageView 和标签自动居中,不要忘记设置宽度对于 imageView 和标签。如果需要,将视图 1 和视图 2 设置为清除颜色或在其他视图视图下(以查看背景、其他视图、与其他视图的交互...)。
【讨论】:
以上是关于Stackview 安排问题的主要内容,如果未能解决你的问题,请参考以下文章
Stackview inside 其他stackview宽度问题
stackView 中的 StackView 不能通过 swift 使用它的间距