如何根据宽度更改视图的高度
How to change the height of the view based on width
我的视图宽度会根据设备宽度改变,但我想根据设备宽度改变高度,我不希望它是静态的。
我找不到任何可以解决这个问题的约束。
听说宽高比可以做到这一点。但是试了好像不行
一般是怎么实现的?
将纵横比的概念与自动版式结合使用,以根据高度和宽度更新您的视图。使用乘数更新纵横比。这是宽高比分配的快照以及如何更新它的乘数
乘数逻辑:
1:1 = 图片的高度和宽度将保持不变
2:1 = 你的宽度或高度是彼此的 2 倍并创建一个矩形。这里高度为2x或宽度为2x,这取决于约束中的第一项和第二项。
优先逻辑:
优先级分配,当特定约束与同一视图的另一个约束冲突时优先。例如如果您设置了 1:1 宽高比的视图,高度为 100,宽度为 100,并且在主视图中居中。现在,您还将左(边距)/前导约束指定为固定值,如 200。在这种情况下,对于不同大小的屏幕宽度,居中对齐 and/or 前导对齐 and/or 纵横比将相互冲突。此时你需要在0-1000之间更新优先级,根据你的需求调整设计。
分享你的设计,我会给出你的确切逻辑,如何使用这个概念
尝试以下简单方法..
1) 给出 Leading
和 Trailing
约束 如下图。
2) 现在根据您的设计设置 Top
或 Bottom
或其他 Constraint。对我来说,我已经解决了 Vertically Center
.
3) 现在根据您在设计中想要的 Ratio
设置 UIView
的 Height
,然后 select 设置 view
只是 Drag and Drop
在相同的 view
和 select Aspect Ratio
上。 XCode
会自动得到 Ratio Constraint
。供参考。见下图。
我的视图宽度会根据设备宽度改变,但我想根据设备宽度改变高度,我不希望它是静态的。
我找不到任何可以解决这个问题的约束。
听说宽高比可以做到这一点。但是试了好像不行
一般是怎么实现的?
将纵横比的概念与自动版式结合使用,以根据高度和宽度更新您的视图。使用乘数更新纵横比。这是宽高比分配的快照以及如何更新它的乘数
乘数逻辑:
1:1 = 图片的高度和宽度将保持不变
2:1 = 你的宽度或高度是彼此的 2 倍并创建一个矩形。这里高度为2x或宽度为2x,这取决于约束中的第一项和第二项。
优先逻辑: 优先级分配,当特定约束与同一视图的另一个约束冲突时优先。例如如果您设置了 1:1 宽高比的视图,高度为 100,宽度为 100,并且在主视图中居中。现在,您还将左(边距)/前导约束指定为固定值,如 200。在这种情况下,对于不同大小的屏幕宽度,居中对齐 and/or 前导对齐 and/or 纵横比将相互冲突。此时你需要在0-1000之间更新优先级,根据你的需求调整设计。
分享你的设计,我会给出你的确切逻辑,如何使用这个概念
尝试以下简单方法..
1) 给出 Leading
和 Trailing
约束 如下图。
2) 现在根据您的设计设置 Top
或 Bottom
或其他 Constraint。对我来说,我已经解决了 Vertically Center
.
3) 现在根据您在设计中想要的 Ratio
设置 UIView
的 Height
,然后 select 设置 view
只是 Drag and Drop
在相同的 view
和 select Aspect Ratio
上。 XCode
会自动得到 Ratio Constraint
。供参考。见下图。