对于经验丰富的Xcode 5界面构建器用户来说可能是一个简单的问题,但很难在Google上找到答案:
我有an app for iPhone,它不使用导航控制器(这里是fullscreen):
右侧的视图场景有一个图像视图,下面有5个标签 - 显示用户详细信息:
然后我创建了another iPhone app并将“详细信息”视图复制到它(此处fullscreen):
现在Xcode 5.0.2显示了一条警告:
“图像视图”的框架在运行时会有所不同。
是因为视图顶部的某些空间会被导航栏占用吗?
请问如何解决?
我尝试点击 [ - o - ] 图标,但不是解决了我的布局问题,而是整个布局搞乱了(标签跳到了左边)。
此外,我已尝试在Xcode属性检查器的右侧设置复选框,但无法在那里找到任何良好的组合(我不确定“推断”在Xcode上下文中的含义)。
更新
奥西尔的建议对我有用,谢谢。
我发布了一个新屏幕截图(此处为fullscreen),以防有人提出更多改进建议:
答案 0 :(得分:22)
答案 1 :(得分:3)
选择UIImageView
并点击 [ - o - ] 图标,然后选择重置为建议的约束菜单项。
模拟指标部分在运行时没有任何作用,只有我们在编译之前才能弄清楚布局的样子。
还有一种(更好的)方法,但你必须分析UIImageView
有哪些约束,并相应地为新布局更改它们(添加了导航栏)。您可以尝试在此处发布带有这些约束的屏幕截图,以便我们帮助您了解发生的情况。转到右侧面板中的尺寸检查器,并向我们显示约束部分。
<强>更新强>
您的约束强制UIImageView
与下面的标签具有相同的水平对齐并且具有相同的宽度。此外,您对最上面的标签和导航栏中的固定垂直空间有限制,UIImageView
的宽度取决于导航栏和标签之间的可用空间。我认为这是当前布局(没有滚动)的好方法,因为一切都适合3.5英寸和4英寸显示器的屏幕。如果您想要不同的行为,请在评论中告诉我。
答案 2 :(得分:2)
在Xcode版本8.0 Swift 3.0中遇到同样的警告。检查并取消选中“调整滚动视图插入”选项后,警告消失了。注意:它们在开头没有像上面的评论那样被检查,所以它可能会澄清那些有同样警告的人。
选中/取消选中“调整滚动视图插入”选项。
答案 3 :(得分:1)
看起来您在3.5英寸屏幕上运行应用程序,而在界面构建器中为4英寸屏幕设计它时。 您应该设置所有缺少的约束,以便autolayout'知道'如何布置图像视图和标签。
我会为标签设置固定高度,为图像视图设置可变高度。然后将图像视图的内容模式设置为“纵横填充”(请注意,在这种情况下,您将丢失图像的一部分,而不是在左侧和右侧有灰色条纹)。