我有一个去年构建的项目,它使用 XIB,没有故事板。XIB 不使用 Auto Layout,但它们确实使用了一些 Autosizing。使用 iOS7 运行时出现问题,其中所有视图都隐藏在状态栏下。我完全理解这是 iOS7 的一个新功能,这是可以预料的。但是,所有修复它以使其不这样做的解决方案都不起作用。我在视图顶部有一个始终显示在状态栏下的图像,并且我没有使用导航栏或类似的东西。
我尝试过更新 XIB 中的 Y-deltas(它们对视图没有影响),我尝试过将其设置edgesForExtendedLayout
为UIRectEdgeNone
(什么都不做),以及许多其他事情。每次,无论我做什么,状态栏都会显示隐藏在其下方的视图..除非我手动向下移动 XIB 中的视图以为状态栏留出空间(但该解决方案不起作用,因为它当然,在 iOS6 中看起来不正确)。
奇怪的是,即使我尝试使用一行代码来破解视图转换,它也不起作用(如下所示):
self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y+20, self.view.frame.size.width, self.view.frame.size.height);
..并不是说我会采用那种解决方案,但奇怪的是它不起作用(我通常看到不起作用的唯一一次是如果自动布局到位,但在这种情况下不是)。
这是状态栏显示的设计要求,我只是对为什么我不能将视图设置在 iOS7 的状态栏下方感到困惑。我已经阅读了有关该主题的每一篇 Stack Overflow 帖子,以及 Apple 的过渡/指南。再次重申,我完全理解它应该如何运作以及预期的解决方案应该是什么,但这些似乎都不适用于这个特定的项目。
我是一名经验丰富的 iOS 开发人员,但这个项目是由另一个团队构建的,所以我不知道 XIB 文件、plist 或代码中是否隐藏了一些东西,可能会胜过上述设置。请让我知道是否还有其他可以查看的内容,或者我可以提供更多信息。
提前致谢!