autolayout视图在较小的设备上重叠

时间:2017-03-04 01:34:27

标签: ios autolayout constraints aspect-ratio autoresizingmask

基本上我有一个高度为x的视图 和其他4个具有相同高度的视图y所有这5个视图都是一个接一个地垂直放置,空间为10像素

所有这些观点都有一些依赖于它们的儿童观点。

对于这种情况,stackview是理想的,但它支持从iOS 9开始,不幸的是我必须从iOS 6支持

所以基本上我用前导,尾随,顶部,底部和高度约束修复了所有视图...

它在iPhone 7s中运行良好......但在iphone 4s中,视图相互重叠

在iphone中,视图非常拥挤..

我一直认为高度会根据iPHone 4s的屏幕大小而改变,但这并没有发生

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用前导,尾随,顶部,底部和相等高度约束修复所有视图,而不仅仅是高度(不给任何视图固定高度)

enter image description here

答案 1 :(得分:0)

有两种方法可以解决您所面临的问题。

<强>首先

您可以使用比例高度约束,而不是为任何UIView提供固定高度。选择您的UIView控件 +从UIView拖动到主超级视图。选择相等的高度约束。现在,双击高度约束并将乘数设置为0.15或任何看起来不错的值。这将确保这样创建的视图始终是整个视图高度的0.15倍。现在,您可以按照相同的步骤或超级视图创建与此视图成比例的其他视图。

enter image description here

<强>第二 (我更喜欢这种方法,因为有时您需要创建表单,上述方法可能仍会将元素从屏幕上移开)。

这将使用UIScrollView。在您的主视图中添加UIScrollView并添加前导尾随顶部底部约束到你的 superview 。向此UIView添加UIScrollView并为其指定前导尾随顶部底部< / em>以及。另外,为UIScrollView的超级视图提供相等高度宽度约束,其优先级低于250.现在将所有元素添加到此{ {1}}但是你觉得合适。固定高度,比例高度无论如何,并愉快地运行它。但请确保为最底层视图添加UIView的最低值。

如果内容将离开屏幕,屏幕将自动变为可滚动,否则将无法滚动。