Autolayout视图下降
问题描述:
我已经构建了一个简单的登录屏幕布局。在垂直方向上,顶部有一个徽标,随后是2个电子邮件和密码文本框,然后是提交按钮。Autolayout视图下降
有一个外部容器,其中容器2多个容器视图,一个用于标识,另一个用于文本框和按钮。
使用自动布局,我已经在Xcode中正确显示了布局,标识容器位于输入详细信息容器的上方。但是,当我在模拟器或设备上启动应用程序时,徽标似乎会落在文本框的顶部。
Xcode告诉我我错过了containerLayout的y位置或高度的约束。我不确定这是否对问题有任何影响。
如果有人能解释为什么徽标掉下来,这将是非常有用的。我将包括一个约束的图像。
答
绝对是最低的,你应该:
- 添加领先,尾随,底部和顶部约束标志图像视图。
- 设置垂直内容拥抱优先为文本字段为必填项(1000)。
- 添加底部约束登录按钮。
您肯定会使用太多的中心X和相等的宽度,这会模糊整个布局图。如果你想让它更简单,更可读包括以下修改。
- 删除中心X,从标志图像芯Y和相等的宽度。你会发现它不会破坏任何东西,只是简化了布局。
- 对于这两个文本字段,删除center X和等宽约束。
- 对于两个文本字段,添加领先和尾随约束到上海华
- 重复过去两年的按钮标志点。
如果您的目标是iOS9或更高版本,则可以使用堆栈视图来布置文本字段和按钮。在下面你可以找到最终结果。当然,你可以为这个布局引入更多的改进,但我不想在这里重新创建它。
更新
配置底部约束为logoDetailsLayout只需将其添加为正常。有时候,如果视图不一致,Xcode就会丢失。在这种情况下,您可以双击此约束并在属性检查器中修复它。
这就是我如何配置它。
您没有设置高度约束为containerLayout查看,也为logoLayout高度约束,我觉得这是你的问题的原因 – Hosny