我正在尝试在IB XCode 10.2.1
中垂直垂直分布两行水平按钮。当前的努力产生了以下结果:
[
可以在垂直堆栈中以间距值分布两行,但是我希望它根据可用的垂直空间动态地垂直分布。
详细信息:
这两个UIStackViews
嵌入在垂直UIStackView
中。为了使其正常工作,我还将垂直UIStackView
嵌入到UIView
中,并将其调整为此屏幕快照底部的可用空间(称为“ UIStackView
” ,则可以看到它是“相册标题”和底部之间的较大矩形)。垂直UIStackView
中的“分布”选项均不会对分布两个水平行产生任何影响。
我缺少约束吗?我的最后一招是根据屏幕尺寸以编程方式调整垂直堆栈中的间距。
此外,以下未列出:垂直UIStackView
的顶部未固定到UIView
的顶部-执行此操作时,我在顶部获得一行,而在另一行在底部,当我使用“等距”时。在这种情况下,但选择“均等填充”时,两行在底部附近彼此非常接近,并且“专辑标题”被拉低至与之相符的位置(最好的方法是将“专辑标题”保持在原位置,顺便说一句?)。也许答案确实在于这种情况,但是有不同的约束条件……
提前谢谢!很多!
答案 0 :(得分:1)
完成这些操作的方式...最简单的方法就是使用“间隔视图”。
以下是带有查看为:iPhone 8
的布局使用这种布局,我在垂直堆栈视图中包含3个红色的“间距视图”。它们彼此设置为相等的高度,最终使您具有相等的垂直“间距”。显然,您将背景颜色更改为清除,以便看不到它们。
注意:
我给每个按钮的宽度和高度限制分别为44
水平堆栈视图使用:
垂直堆栈视图在视图的前导/尾随/底部被限制了20点,顶部从标签底部开始被限制了20点...,其中:
这是与完全相同的布局,查看为:iPhone 4s ,因此您可以看到它可以根据需要自行调整大小,而无需进行任何更改: