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

我有一个iPhone应用程序,该应用程序不使用导航控制器(此处为全屏显示) :



最右边的视图场景有图像视图和下面的5个标签-显示用户详细信息:



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



,现在出现了警告由Xcode 5.0.2显示:


运行时“图像视图”的框架会有所不同。


是因为有一些空间视图顶部的导航栏将占据它?

以及如何修复它?

我尝试单击[-o-]图标,但是没有解决布局问题,而是弄乱了整个布局(标签跳到了左侧)。

我也尝试过在右侧设置复选框在Xcode Attributes Inspector中,但无法在其中找到任何良好的组合(而且我不确定“推断”在Xcode上下文中的含义)。

UPDATE:

Ossir的建议对我有用,谢谢。

如果有人有更多改进建议,我将发布新的屏幕截图(在此为全屏显示):



#1 楼

选择UIImageView并单击[-o-]图标,然后选择“重置为建议的约束”菜单项。
“模拟的度量”部分在运行时不执行任何操作,仅用于确定编译前的布局。
另外,还有一种(更好)的方法,但是您必须分析UIImageView的约束,并相应地更改它们以适应新的布局(添加导航栏)。您可以在此处尝试发布具有这些限制的屏幕截图,以便我们帮助您确定发生了什么。转到右侧面板中的“尺寸检查器”,然后向我们显示“约束”部分。
UPDATE
,您的约束将UIImageView的水平对齐方式设置为与下面的标签相同,并且宽度相同。另外,从最顶部的标签和导航栏开始,您对固定的垂直空间有限制,UIImageView的宽度取决于导航栏和标签之间的可用空间。我认为这对于当前的布局(无需滚动)是一个很好的解决方案,因为对于3.5英寸和4英寸的显示屏,所有内容都可以放入屏幕。如果您想要其他行为,请在评论中告诉我。

#2 楼

我发现取消选中有问题的导航控制器的“调整滚动视图插入”复选框可以清除警告



评论


知道为什么有帮助吗?

–侏罗纪
16年12月14日在14:12

不,对不起,希望您能提出充分的解释。我还注意到该问题可能会再次出现,选中/取消选中将清除此问题。

–达摩
16年12月14日在14:43

#3 楼

刚在Xcode 8.0 Swift 3.0中面临相同的警告。在我选中并取消选中“调整滚动视图插图”选项后,警告消失了。注意:像上面的注释中一样,在开始时并未对其进行检查,因此对于那些具有相同警告的人来说可能是清楚的。

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



评论


选中/取消选中“ Adjust scroll View Insets”将在Xcode 8 / Swift 3中将其清除,但这只是暂时的。它们将在您重新启动Xcode后返回。

–贾斯汀·多姆尼兹(Justin Domnitz)
16-10-19在21:12

#4 楼

在界面生成器中为4英寸屏幕设计应用程序时,看起来好像是在3.5英寸屏幕上运行应用程序。
您应该设置所有缺少的约束,以便自动布局“知道”如何布局图像视图和标签。

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

评论


+1 thank you! How do you set a "variable height" for a subview? I don't see such an option in Xcode Size Inspector, when I click the image view: i.stack.imgur.com/eHQg1.png

– Alexander Farber
Jan 27 '14 at 20:05

在该屏幕截图所示的布局配置中,UIImageView的高度已经可变。如果在视图顶部和图像视图之间定义了固定的空间,并且图像视图下的所有元素也具有固定的高度,则图像视图将增大以填充剩余的空间。

– Alexis
2014年1月28日10:58