我的 View 宽度会根据设备宽度而变化,但我想根据它来更改高度,我不希望它是静态的。
我找不到任何可以解决这个问题的约束。
我听说宽高比可以做到这一点。但是我试了好像不行。
一般是如何实现的?
最佳答案
将纵横比的概念与 AutoLayout 结合使用,以根据高度和宽度更新您的 View 。使用乘数更新纵横比。这是宽高比分配的快照以及如何更新它的乘数
乘数逻辑:
1:1 = 图片的高度和宽度将保持不变
2:1 = 你的宽度或高度是彼此的 2 倍并创建一个矩形。这里高度为2x或宽度为2x,这取决于约束中的第一项和第二项。
优先级逻辑: 优先级分配,当特定约束与同一 View 的另一个约束冲突时优先。例如如果您设置了一个纵横比为 1:1 的 View ,高度为 100,宽度为 100,并且在主视图中居中。现在您还将左(边距)/前导约束指定为固定值,如 200。在这种情况下,对于不同大小的屏幕宽度,居中对齐和/或前导对齐和/或宽高比将相互冲突。此时你需要更新0-1000之间的优先级,根据你对设计调整的要求。
分享你的设计,我会给出你的确切逻辑,如何使用这个概念
关于ios - 如何根据宽度更改 View 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42577067/