所以我们的应用程序是使用 XIB 接口构建的,而不是故事板。我们有适用于 iPhone 和 iPad 的 XIB。
自 iOS7.1 更新以来,iPhone xibs 现在在界面构建器中更大,并且在部署在设备上时太高了。
高度都错了,XIB现在太高了。例如,当设置为填充时,背景似乎超出了视图。当部署在手机上时,所有内容都会向下移动到顶部导航栏的高度。
如果我在 Interface Builder 中为视图添加/删除顶部/底部栏,事情会发生变化,但不会以一种有意义的方式发生变化。我的应用程序有一个导航栏,如果我告诉界面构建器它有一个导航栏,那么 xib 的高度会进一步增长 80 左右像素。如果我告诉界面生成器它没有导航栏,一切都会正确地向上移动,但视图的高度仍然很高,以至于底部附近的背景和东西会离开屏幕。
因此,对于非常模糊的问题,但我们正在努力解决这个问题。
更新 - 似乎不透明的导航栏解决了一半的问题。我们为每个界面设置了半透明导航栏。这些似乎在 IOS7.1 中不占用空间,但在 IOS7.0 中却占用了空间。
现在的问题仍然是身高。在内部,高度似乎仍然被破坏或从新的原点开始。
In view 确实在 iPod Touch 上加载了带有不透明导航栏的视图:
self.view.frame.origin.y 显示为 0
self.view.frame.size.height 显示 256
导航栏 origin.y = 20
导航栏 size.height = 32
总共 308 个,缺少 12 个像素。