在 iOS 中以指定的等间距在水平堆栈视图中分布项目

Posted

技术标签:

【中文标题】在 iOS 中以指定的等间距在水平堆栈视图中分布项目【英文标题】:Distribute items in a horizontal stack view with specified equal spacing in iOS 【发布时间】:2016-07-12 21:29:43 【问题描述】:

我检查了水平堆栈视图 (UIStackView) 中的所有分布类型,但我找不到第一项从堆栈视图的前导开始而所有其他项目之间的间距恒定(指定)的分布类型他们。

基本上,我的目标是有一个表格,其中我在每个单元格中都有一个堆栈视图,并且项目(不管它们有多少)与它们上方和下方的项目水平对齐(项目将是数字,因此它们之间的相等间距就足够了,因为它们将具有相同的宽度。

最接近的是“按比例填充”,但间距不是恒定的。此外,“等间距”选项的问题是,间距会根据视图中元素的数量而变化,因为它填充了视图。

有没有办法在堆栈视图中进行这种项目的对齐(甚至没有它)?

【问题讨论】:

【参考方案1】:

UIStackView 有一个间距属性(常量),你应该使用它来设置你想要的堆栈子视图之间的空间。

来自 Apple 文档:

变量间距:CGFloat

堆栈相邻边缘之间的距离(以点为单位) 视图的排列视图。 UIStackView Class Reference

希望对你有帮助

【讨论】:

但是我应该使用哪个发行版?即使我将间距设置为一个值并将分布设置为例如“等间距”,它仍然试图填充整个东西,并自动设置间距,就像间距属性无关紧要。在其他类型的分布中,它有点重要(使间距或多或少),但间距仍会根据容器的大小和其中的项目数量而变化。有没有办法关闭分发方式的影响? 使用填充,每个子视图将采用其固有的内容大小

以上是关于在 iOS 中以指定的等间距在水平堆栈视图中分布项目的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中以编程方式将视图添加到 stackview

iOS - 在堆栈视图中拉伸的图像

使用自动布局检索子视图的正确位置

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

在导航堆栈中以模态方式呈现视图控制器

在 iOS 堆栈视图中水平居中视图