iOS中的堆栈视图问题

Posted

技术标签:

【中文标题】iOS中的堆栈视图问题【英文标题】:Stack view issue in iOS 【发布时间】:2018-12-22 17:33:35 【问题描述】:

我在堆栈视图中有两个标签和一个图像视图(“声音”图像)。实际上,顶部标签和图像视图位于另一个垂直堆栈视图内的水平堆栈视图中。

我希望“测试”标签尽可能靠近图像视图,但是,正如您在图像中看到的那样,“测试”标签尽可能地伸展,以便“测试”+图像视图宽度与下面标签的宽度相匹配。我该如何解决这个问题?

我知道我可以在顶部水平堆栈视图中使用一些假的透明视图来将图像视图尽可能靠近测试标签,但我更喜欢 hacks。

【问题讨论】:

不会右对齐测试标签的文本帮助吗? @Gereon 我不这么认为,我希望测试标签与下面的标签对齐。测试标签的宽度不会因为改变它的文本对齐属性而改变。 啊,现在我明白你的意思了。我会尝试将标签和图像作为包装视图放入常规 UIView 中,并将其添加到垂直堆栈视图中。 【参考方案1】:

这应该很容易。

界面构建器:

结果:

设置:

如果你想让你的测试UILabel 变得更好,或者等于按钮或imageView,给它一个高度,但正如我在你的截图中看到的那样,你已经做了你想做的事情,除了设置您的垂直(主要)UIStackView

使用您的 stackView 设置。在我的垂直(主)stackView 中,我的Alignment 设置为Leading。将其设置为默认的 Fill 将获得不需要的结果,就像您的屏幕截图一样。 分发由您决定。

我希望这会有所帮助! :)

【讨论】:

以上是关于iOS中的堆栈视图问题的主要内容,如果未能解决你的问题,请参考以下文章

在 IOS 堆栈视图中的元素之间放置边距

如何在 iOS 中将堆栈视图中的第一个视图置于最前面? [复制]

堆栈视图中的自动约束冲突、Swift 2、iOS 9.3、XCode 7

在 iOS 中推送视图控制器时难以绕过堆栈中的视图控制器

在 iOS 中的 navigationController 堆栈中隐藏 tabBar 时,视图在屏幕上显示后向下移动

iOS - 如何推送到视图控制器并在返回时保持正确的“视图堆栈”