首页 > 解决方案 > 隐藏状态 bas 的约束警告

问题描述

我有一个隐藏状态栏的应用程序。我正在对安全区域顶部设置一些限制,因为我希望它能够处理 iPhone X。问题是界面构建器希望我将对象向下放置 20 像素。即,如果我在 y=0 处放置标签并设置到顶部的距离应为 0 的约束,我会收到有关“错位视图,预期 = 20,实际 = 0”的警告。

这不是一个大问题,因为布局实际上在各种设备上都可以正常工作。但这意味着我在构建时有 50 多个警告,这非常烦人并且有可能掩盖更重要的消息。有没有办法摆脱这些警告?这似乎不是一种告诉界面生成器没有状态栏的方法。

在此处输入图像描述

在此处输入图像描述

标签: iosautolayout

解决方案


您所做的是将约束设置为 0 到Safe Area(y:20),但是在故事板中,您将标签定位在 0 到Superview(y:0)。构建后,您删除了状态栏,安全区域成为视图的顶部,因此您在 y:0 处看到标签。

所以它告诉你的是“嘿,你要求我在 20 岁,但在这里你把我定位在 0 岁”,你的布局是有效的,因为在构建时,约束正在接管。如果您只是单击三角形然后更新帧,一切都会好起来的。


推荐阅读