iOS - 设置自动调整约束前后不同的 bounds.size 值

标签 ios iphone autosize

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

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

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

enter image description here

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

enter image description here

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

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

提前致谢!

最佳答案

第一个 Autosizing 模式设置(以及其他)固定顶部边距和固定底部边距以及固定高度。基本上,您是在告诉 View 顶部和底部具有相同的边距,但不修改其高度,这是几乎不可能的,因此界面构建器将优先考虑底部固定 Spring 。

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

如果取消选中在顶栏下扩展选项,viewcontroller 的 View 将从 64 开始。

关于iOS - 设置自动调整约束前后不同的 bounds.size 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19686880/

相关文章:

ios - 带有特殊字符的 URL 字符串问题

qt - 对 QMainWindow 的大小调整使用react以调整小部件的大小

CSS 语音气泡自动大小?

ios - swift 中的 "as"关键字是什么

ios - 自定义委托(delegate) nil 且不保存 userDefaults

iphone - 从 iOS 跳转到 OSX

ios - 如何保持avaudioplayer在设备(iPhone)锁定状态下播放?

iphone - 内部应用程序安装时无需在设备上配置配置文件

Xcode 界面生成器。这些自动调整大小的蒙版设置有何不同?

iphone - 存档项目给我以下错误 : The identity 'iPhone Distribution: