我正在构建一个在UINavigationBar下面有UIImageView的应用程序,如下面的屏幕截图所示。
在设置自动调整约束之前,我记录了边界大小,并且它说大小是320x505,这是非常合理的,因为导航栏和状态栏占用了64分。
在我设置它们之前,约束是这样的:
后来,我添加了下面的约束的“内部交叉”部分,这次,在记录边界大小时,它给了我320x569,它考虑了状态栏和导航栏。
我很确定UIImageView的“实际”大小不会增加,因为当我加载图像时,它只是显示图像就好了,没有区别,但我不确定为什么会发生这种情况。 / p>
所以我的问题是导致这种情况的原因以及如何解决这个问题?
提前致谢!
答案 0 :(得分:2)
第一个自动调整模式设置(以及其他)固定最高保证金&固定底部保证金&固定高度。基本上,您告诉视图在顶部和底部具有相同的边距,但不能修改其高度,这是非常不可能的,因此界面构建器将优先考虑底部固定弹簧。
第二种情况,具有固定上边距&固定底部保证金&灵活的高度,在整个内容上展示您的图像。如果你没有取消选中视图控制器的选项(在顶部栏下方扩展),则全部内容为568(对于4英寸设备,这是你的情况)(如果你选择了该选项,则在ios 7上,视图控制器的视图的y源位于导航栏下) &状态栏,就在最右上角。)
如果取消选中“顶栏下方的扩展”选项,则视图控制器的视图将从64开始。