如何设置存在于另一个分布为均匀分布的堆栈视图中的堆栈视图的高度

Posted

技术标签:

【中文标题】如何设置存在于另一个分布为均匀分布的堆栈视图中的堆栈视图的高度【英文标题】:How can i set the height of stackview present inside another stackview whose distribution is fill equally distribution 【发布时间】:2017-10-23 11:15:28 【问题描述】:

我需要创建一个在所有屏幕上都应该相同的登录页面,因此创建了一个父堆栈视图,其顶部、底部、前导和尾随的约束为 20,并且它的分布是平均填充的,因为其中存在 9 个 uiview。我想增加 stackview 的高度,它由 3 个按钮组成,约束比分别为 1:1。我需要设置这个stackview的高度。但是一旦我设置了一个约束,整个视图就会离开屏幕。与给按钮高度的情况相同。

pls see this screen shot 我需要创建相同的屏幕,但我如何才能给出这个嵌套堆栈视图的比率或其他内容?

【问题讨论】:

您有一个垂直堆栈视图,有 9 个视图,分布设置为均等填充...但是您想更改其中一个视图的高度?然后它不再是“平等填充”。您是否尝试过使用等间距或等中心? 而且...您说的是“3 个图标行(in、g+、f)”,对吗?你想让那一排比其他排高吗? 是的,我希望第 3 行总是比其他行高 好的...您希望它是所有屏幕尺寸的固定高度吗?那么,“图标行”的高度应该是 100 分,而其他行的大小应该适合?还是您希望“图标行”为百分比高度? “平均填充”分布不符合您的要求。使用其他一些选项,例如如果间距相等则“等间距”或比例“按比例填充” 【参考方案1】:

在这个堆栈视图(包含图像)中添加另一个视图,并使图像堆栈视图的内容拥抱优先级高于视图(我们额外添加)。将视图按钮高度设置为 X% 到 Stackview 或任何你想要的,并将纵横比设置为 1:1(我在 example project 中已经这样做了)

这将尝试在所有屏幕尺寸下保持最佳高度,同时也将保持纵横比。

但是不能让高度大于uistackview的分布

【讨论】:

以上是关于如何设置存在于另一个分布为均匀分布的堆栈视图中的堆栈视图的高度的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AutoLayout 制作均匀分布的图像行? [复制]

堆栈视图中的元素不移动/调整

请问如何设置bootstrap导航栏中的菜单项居中均匀分布?谢谢

如何调整我的堆栈视图的分布以适应不相等的视图大小?

如何控制嵌套在另一个堆栈视图中的 UIStackViews 的相对宽度?

在没有边距的视图中均匀分布