0

我注意到我的 iPhone 应用程序在 iOS7 版本和以前的 iOS 版本之间的行为不同。当然有明显的区别(样式),但我说的是取决于状态栏是否可见的编码逻辑。

在以前的版本中,当我计算高度和垂直位置(用于各种布局/位置目的)时,我必须考虑状态栏(高度为 20“像素”)。例如,由于我的应用程序显示了状态,我必须考虑 20 个像素(因为 0 的 Y 位置不是屏幕的最顶部,而是第 21 个像素位置(在状态栏下方)。

但是现在,在 iOS7 中,似乎不再是这种情况了(Y 位置 0 是状态栏的顶部)。

我希望我能清楚地解释这一点。我希望有人可以指导我更好地了解这里发生的事情。

4

1 回答 1

0

在以前的 iOS 版本中,除了颜色之外,我们无法对状态栏进行太多更改,并且在 View Hierarchy 中为状态栏保留了 20 点空间。在 iOS7 中,状态栏变得透明,现在可以使用 20 点空间。

但是如果你使用导航控制器,你不必太担心这个问题。当 UINavigationController 存在时,UINavigationBar 将自动放置在状态栏下方。在这种情况下,状态栏的外观将完全取决于其下方的导航栏,如果您想更改状态栏中的任何内容,您也必须更改导航栏。

您可以在此官方文档

此博客中阅读更多内容。

于 2014-01-14T05:28:34.923 回答