0

我正在构建一个在 UINavigationBar 下方具有 UIImageView 的应用程序,如下面的屏幕截图所示。 截屏

在我设置自动调整大小约束之前,我记录了边界大小,它说大小是 320x505,这是相当合理的,因为导航栏和状态栏占用 64 pts。

在我设置它们之前,约束是这样的:

在此处输入图像描述

后来,我添加了约束的“内十字”部分,如下所示,这一次,在记录边界大小时,它给了我 320x569,它考虑了状态栏和导航栏。

在此处输入图像描述

我很确定 UIImageView 的“真实”大小不会增加,因为当我加载图像时,它只是很好地显示图像,没有区别,但我不确定为什么会发生这种情况。

所以我的问题是是什么导致了这种情况以及如何解决它?

提前致谢!

4

1 回答 1

2

第一个自动调整大小模式设置(除其他外)固定上边距和固定下边距和固定高度。基本上,您是在告诉视图顶部和底部的边距相同,但不要修改其高度,这几乎是不可能的,因此界面构建器将优先考虑底部固定弹簧。

第二种情况,具有固定上边距和固定下边距和灵活高度,将您的图像拉伸到整个内容上。如果您没有取消选中视图控制器的选项(在顶部栏下扩展),则完整内容为 568(对于 4 英寸设备,这是您的情况)(在 ios 7 上,如果您有该选项检查视图控制器的视图的 y 原点位于导航栏下方& 状态栏,就在最上角)。

如果取消选中顶部栏下的扩展选项,视图控制器的视图将从 64 开始。

于 2013-10-30T15:46:57.060 回答