如何正确设置 4s 的自动布局约束?

Posted

技术标签:

【中文标题】如何正确设置 4s 的自动布局约束?【英文标题】:How to set the autolayout constraints correctly for 4s? 【发布时间】:2017-02-01 07:40:31 【问题描述】:

您好,我有屏幕,我设置了约束,但在预览中查看时视图放错了位置...请建议我如何设置约束,以便调整所有屏幕。

但在 4 秒内预览时,它会从原来的位置移动

【问题讨论】:

请向我们展示您对这些按钮的约束 按钮的高宽是固定的吗? 【参考方案1】:

案例 1 - 高度固定时 1. button1- 给边距、顶部(imageview)和水平间距(button2)提供约束,固定高度。 2. button2- 给出约束顶部(imageview)和水平间距(button3),固定高度。 3. button3-给出约束顶部(imageview)和水平间距(button4),固定高度。 4. button4- 给约束顶部(图像视图)和尾随到边距,固定高度。 5.选择一个按钮,按下命令并选择剩余按钮后转到pin选项[右侧向下],选择等宽。

案例 2 - 当高度不固定时 1. button1- 将约束引导到边距、顶部(imageview)和水平间距(button2)、底部(底部布局指南)。 2. button2-给出约束顶部(imageview)和水平间距(button3),底部(底部布局指南)。 3. button3-给出约束顶部(imageview)和水平间距(button4),底部(底部布局指南)。 4. button4- 给约束顶部(imageview)和尾部到边距,底部(底部布局指南)。 5.选择一个按钮,按下命令并选择剩余按钮后转到pin选项[右侧向下],选择等宽和等高。

注意 - 在第二种情况下,按钮高度更大,因为我们给出了底部布局约束。 在此您可以使用大于或等于选项来进行等高约束。

【讨论】:

【参考方案2】:

对于提供自动布局的任何视图,您必须提供正确的 X、Y、宽度及其高度。因此,从顶部和左侧开始,您必须提供这些约束。首先将 UIView 拖到情节提要上,并赋予与 Viewcontroller 相同的宽度。然后给出约束。 在这里,视图的约束: 领先空间到容器边距跟踪到容器边距水平居中,最后 高度垂直居中(根据您的标准)

【讨论】:

OP 已经知道这一点 - 他们在问为什么对象会在不同的屏幕尺寸之间改变对齐方式...... 如果按照我的建议为视图提供了前导和尾随,那么对齐方式将不会发生变化。 @norders【参考方案3】:

确保您没有限制按钮相对于边距。边距因设备而异。在约束编辑器中单击“第一项”并确保选中“相对于边距”(或者确保所有对象都相对于边距)。

【讨论】:

以上是关于如何正确设置 4s 的自动布局约束?的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局缩放垂直约束

如何管理自动布局中两个视图之间的间隙

如何在情节提要中使用自动布局在不同设备尺寸上设置动态位置的约束

使用自动布局和约束设置按钮

自动布局问题

ios水平滚动视图和自动布局问题