iOS7 内容偏移 20 像素,表示不存在的状态栏



当我迁移到iOS7时,我的UIViews有一个奇怪的行为。似乎向他们发送了一条消息,要求缩小 20 像素。我已经从所有 XIB 文件中删除了状态栏,并将其显式设置为在应用程序委托中隐藏。我的 UINavigationController 似乎收到一条消息:

_computeAndApplyScrollContentInsetDeltaForViewController

这反过来又将消息发送到我的滚动视图

_adjustContentOffsetIfNecessary

将其偏移量设置为 -20 像素...这不应该真正发生,因为该功能没有理由按该量调整任何内容。

有没有人知道如何解决这个问题?

我找到了解决方案!只需设置:

self.automaticallyAdjustsScrollViewInsets = NO;

在将滚动视图作为视图的视图控制器上...

20 像素(或者可能是点),听起来像是未接到电话时的状态栏(我相信接听电话时为 40)。不确定这是否可以解决您的问题,但我遇到了一个问题,即在 iOS7 中我的状态栏没有被隐藏。我以编程方式隐藏了它,它仍然显示在 iOS7 中,但是在 iOS6 中运行时,状态栏会适当地隐藏。您必须转到 plist 并添加以下内容:"基于视图控制器的状态栏外观"并设置为 NO。

最新更新