受宽度和纵横比限制的视图,不更新高度

时间:2018-08-27 15:51:13

标签: ios swift xcode nslayoutconstraint

因此在main.storyboard上,我有一个图像以及几个按钮。所有这些都居中。我想做的是缩放所有内容,以便在不同设备上从角度/比率的角度来看完全一样。也就是说,如果iPhone 8 Plus比iPhone 8大10%,我希望按钮和图像在Plus上大10%。

我遵循了这个link,它告诉我将对象的宽度限制为屏幕宽度的一定百分比(例如25%)。然后,他说要限制宽高比,以便当宽度根据屏幕尺寸变化时,高度也会随之变化。

对于按钮和图像视图,我都是这样做的。当我查看对象的尺寸并在通过iPhone 8 Plus和iPhone SE查看对象之间切换时,宽度会发生变化,但高度不会发生变化。因此很明显,宽度可以适当地适应屏幕尺寸,但是高度却不能。 (请注意,所有按钮和图像都会发生这种情况)。我是否应该限制高度并摆脱长宽比限制?还是有办法固定长宽比以改变高度?

如果您有任何问题或意见,请与我联系,期待得到答复!

编辑:根据请求,这里有2张约束图。一个是纵横比约束,另一个是宽度约束。

Aspect Ratio Constraints

Width constraint

2 个答案:

答案 0 :(得分:1)

看看这个例子:

enter image description here

两个按钮的宽度限制均为视图的25%(0.25 *宽度)。

为iPhone SE设计时,它们都是80 x 30

按钮B 的纵横比约束为8:3

在iPhone 8+上查看

enter image description here

您看到Button A延伸到103.33的宽度,但其高度保持在30。

按钮B的宽度可以拉伸到103.33,但由于它具有宽高比限制,因此其高度也可以拉伸。在这种情况下,从30到38.67。

答案 1 :(得分:0)

您需要这项工作

1-宽度限制为任意百分比的屏幕

2-长宽比约束

  

通过ctrl从元素拖动到自身并从弹出窗口中选择宽高比,然后配置乘数,例如0.5的平均高度将为宽度的一半

3-原点约束x,y

相关问题