【发布时间】:2019-11-26 23:10:16
【问题描述】:
我有一个看起来像这样的布局。视图控制器嵌入在导航控制器中,而导航控制器又嵌入标签栏控制器中,因此视图同时具有顶部和底部栏。
标签和 3 个按钮有高度限制。并且灰色视图有一个宽高比约束集。
标签和灰色视图嵌入在一个堆栈视图中。并且 3 个红色按钮嵌入在一个堆栈视图中。最后将 stackview 和嵌入到单个 stackview 中。
包罗万象的stackview设置了前导、顶部和尾随约束。
当我在像 XS 这样具有更大屏幕的 iPhone 上运行它时,没有问题。
但是当我在 SE 等较小的屏幕上运行它时,底部会隐藏在标签栏后面。
为了让主堆栈视图适合所有 iPhone 的屏幕尺寸,我需要设置什么约束?
我尝试为堆栈视图设置一个低优先级的底部约束,但这似乎也不起作用。
我认为原因之一是我为标签和按钮设置的高度限制。但我不确定如何将高度设置为动态调整大小。
【问题讨论】:
-
实际上,我解决了这个问题,但我不确定这是否是预期的结果......基本上,你的目标是让灰色视图成为一个正方形,这可能是无效的以防万一显示在较小的屏幕上。
-
另外,您可以将灰色视图设为正方形,但在较小的屏幕上它会比预期的要小。
标签: ios swift autolayout uistackview