0

所以我们的应用程序是使用 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 个像素。

4

1 回答 1

0

在 IB 中或以编程方式创建自动布局约束,将每个 XIB 文件中的主视图顶部与“顶部布局指南”对齐,将视图底部与“底部布局指南”对齐。在我的几个应用程序中从 iOS 6 迁移到 iOS 7 时,这解决了一个非常相似的问题。

于 2014-03-12T20:25:33.490 回答