如何根据宽度更改视图的高度
问题描述:
我的视图宽度将根据设备宽度而改变,但我想根据我不希望这是静态的更改高度。如何根据宽度更改视图的高度
我找不到任何可以处理此问题的约束条件。
我听说长宽比可以做到这一点。但我试过了似乎并不奏效。
它是如何实现的?
答
使用宽高比的概念与AutoLayout来更新您的视图相对于高度&宽度。使用乘数来更新宽高比。以下是纵横比分配的快照以及如何更新它的乘数
乘数的逻辑: 1:1 =身高和图像的宽度将保持相同 2:1 =您的宽度或高度相对于彼此是2倍,并创建一个矩形。这里高度将是2x或宽度将是2x,取决于第一个项目和第二个项目的约束。
逻辑优先级: 优先级分配,当与另一个相同视图约束冲突时,优先级为特定约束。例如如果您已设置纵横比为1:1的视图,且高度为100,并且在主视图中居中。现在,您还将左(边距)/ Leading约束分配为固定值,如200.在这种情况下,对于不同尺寸的屏幕宽度,居中对齐和/或主对齐和/或宽高比会互相冲突。此时,您需要根据您对设计调整的要求更新0-1000之间的优先级。
分享我的设计,我会给你确切的逻辑,如何使用这个概念
答
尝试用以下简单的方法..
1)给出Leading
和Trailing
约束像下面的图像。
2)现在设置Top
或Bottom
或其他约束按照你的设计。对我来说,我已经解决了Vertically Center
。
3)现在设置的UIView
Height
按您的Ratio
您在设计要和选择view
只是Drag and Drop
在同一view
,并选择Aspect Ratio
后。 XCode
将自动获得Ratio Constraint
。对于参考。见下图。
与大家分享您的内容向我们展示了什么是真正的用户界面的样子。添加你的方法,最后是你的预期输出。 –
你想如何改变高度?你希望它与整个屏幕成正比吗?你想要它与宽度的特定比例吗? – Rikh
@Rikh - 你能解释我怎么做到这一点?因为一些看法我希望前者,而另一种观点我想要后者 – Shiva