16

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

_computeAndApplyScrollContentInsetDeltaForViewController

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

_adjustContentOffsetIfNecessary

它将它们的偏移量设置为 -20 像素......这不应该真的发生,因为该函数没有理由将任何东西调整该数量。

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

4

2 回答 2

77

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

self.automaticallyAdjustsScrollViewInsets = NO;

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

于 2013-09-13T13:49:33.337 回答
0

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

于 2013-09-12T19:11:32.790 回答