【发布时间】:2015-03-12 09:54:57
【问题描述】:
我的 UIView 需要像屏幕宽度一样宽度,但与该宽度成比例,他的高度对于不同的 iPhone 设备是自动的。有什么方法可以通过情节提要中的约束来处理这个问题?
谢谢
【问题讨论】:
-
创建纵横比约束
标签: ios iphone swift autolayout
我的 UIView 需要像屏幕宽度一样宽度,但与该宽度成比例,他的高度对于不同的 iPhone 设备是自动的。有什么方法可以通过情节提要中的约束来处理这个问题?
谢谢
【问题讨论】:
标签: ios iphone swift autolayout
对于宽度,您只需将视图的前缘和后缘固定到父视图。
对于高度,您可以使用纵横比约束使其与宽度成比例。例如如果将其设置为 1:1,则高度将等于宽度。您可以更改比率以使高度相对于宽度更大或更小。
【讨论】:
打开您的故事板-> 从左窗格中选择 Viewcontroler -> 编辑器-> 解决自动 Lauout 问题 -> 添加缺少的约束。就是这样,try this, this will help you or set constraint manually as @Rory suggest
【讨论】:
有两种方法可以做到这一点。 首先,您可以使用纵横比,只需控制从视图对角线拖动到同一视图并选择纵横比。如果符合你的要求就好了。
第二个选项是 ctrl 从视图拖动到超级视图并选择 Equal Heights。之后转到视图的大小检查器并双击确定新约束。确保第一项是您的 view.height,第二项是 superview.height,如果没有单击其中任何一项并选择反向第一项和第二项。之后,只需根据您的需要选择多人游戏。例如 0.5 表示高度将是超级视图高度的一半。 您可以将第二项更改为 superview 宽度,如果多人游戏为 0.5,则视图高度将是 superview 宽度的一半。
将您的视图固定到超级视图的顶部、前缘和后缘。
【讨论】: