所以我们的应用程序是使用XIB接口而不是故事板构建的。我们有适用于iPhone和iPad的XIB。
自iOS7.1更新以来,iPhone xibs现在在界面构建器中更大,在设备上部署时太高了。
高度都错了,XIB现在太高了。例如,当设置为填充时,背景似乎在视图之外。当在手机上部署时,一切都会向下移动到顶部导航栏的高度。
如果我在界面生成器中为视图添加/删除顶部/底部条,则会转移但不是有意义的方式。我的应用程序有一个导航栏,如果我告诉界面构建器它有一个导航栏,那么xib的高度会再增加80左右的像素。如果我告诉界面构建器它没有导航栏,一切都正常向上移动,但视图的高度仍然很高,背景和靠近底部的东西都会离开屏幕。
因此,对于非常模糊的问题,我们正在努力解决这个问题。
UPDATE - 似乎Opaque Navigation Bar修复了一半的问题。我们为每个界面设置了Translucent Nav Bar。这些似乎没有在IOS7.1中占用空间,但它们在IOS7.0中占用了空间。
现在的问题仍然是身高。它似乎在内部高度被破坏或从新的起点开始。
在视图中,在带有不透明导航栏的视图上加载了iPod Touch:
self.view.frame.origin.y正在显示0
self.view.frame.size.height显示256
导航栏origin.y = 20
导航栏size.height = 32
总计308,缺少12个像素。
答案 0 :(得分:0)
在IB中创建自动布局约束,或者以编程方式将每个XIB文件中主视图的顶部与“顶部布局指南”对齐,并将视图底部对齐到“底部布局指南”。在我的几个应用程序中从iOS 6移动到iOS 7时,这解决了一个非常类似的问题。