使用导航控制器将视图复制到项目 – “图像视图”的框架在运行时将有所不同

对于有经验的Xcode 5界面生成器用户来说可能是一个简单的问题,但是在Google上很难find答案:

我有一个iPhone应用程序 ,它不使用导航控制器(在这里全屏 ):

xcode截图

在右侧的视图场景下有一个图像视图和5个标签 – 显示用户的详细信息:

应用截图

然后我创build了另一个iPhone应用程序,并将其复制到“详细信息”视图(此处为全屏 ):

xcode截图

现在Xcode 5.0.2显示一个警告:

“图像视图”的帧在运行时会有所不同。

是否因为视图顶部的一些空间会被导航栏占用?

请问如何解决?

我尝试点击[-o-]图标,但不是解决我的布局问题,它已经搞乱了整个布局(标签跳到左边)。

另外我已经尝试在Xcode属性检查器的右侧设置checkbox,但一直没有find任何好的组合(我不知道在Xcode上下文中“推断”是什么意思)。

更新:

Ossir的build议已经为我工作,谢谢。

我发布一个新的截图(这里全屏 ),以防有人有更多的改进build议:

xcode截图

selectUIImageView并单击[-o-]图标,然后selectReset To Suggested Constraints菜单项。 模拟的度量部分在运行时不会做任何事情,只有在编译之前弄清楚布局的样子。

还有一个(更好)的方法,但你必须分析UIImageView有什么约束,并相应地改变他们的新布局(添加导航栏)。 你可以尝试在这里发布这些限制的截图,所以我们可以帮助你弄清楚发生了什么。 转到右侧面板中的“ 尺寸检查器”并显示“ 约束”部分。

UPDATE

你的约束迫使UIImageView具有与下面的标签相同的水平alignment和相同的宽度。 另外,对于最上面的标签和导航栏中的固定垂直空间有限制, UIImageView宽度取决于导航栏和标签之间的可用空间。 我认为这是目前布局(没有滚动)的好解决scheme,因为3.5英寸和4英寸的显示屏都可以装入屏幕。 如果你想要不同的行为,让我知道在一个评论。

我发现取消选中导航控制器的调整滚动视图插入checkbox清除了警告

调整滚动查看插图

刚刚在Xcode版本8.0 Swift 3.0中面临相同的警告。 检查并取消选中“调整滚动视图插入”选项后,警告消失。 注意:他们在开始时并没有像上面的评论那样被检查,所以对于那些有这个警告的人可能会有所澄清。

选中/取消选中“调整滚动视图插入”选项。

在这里输入图像说明

它看起来像你在3.5“屏幕上运行你的应用程序,而你已经在界面生成器中devise了一个4”屏幕。 您应该设置所有缺less的约束,以便自动布局“知道”如何布置图像视图和标签。

我会为标签设置一个固定的高度,为图像视图设置一个可变的高度。 然后将图像视图的内容模式设置为“纵向填充”(请注意,在这种情况下,您将丢失图像的一部分,而不是在左侧和右侧有灰色条纹)。