UIPageViewController:子控制器在滚动期间忽略状态栏高度

我在使用UIPageViewController遇到了一些麻烦。 如果我滚动到新页面,则在滚动时新的视图控制器位于状态栏的后面 。 滚动后,视图控制器将自身置于状态栏下方

我正在使用Storyboard(通用)。 UIPageViewController具有属性Extend Edges: Under Top Bars 。 我错过了什么?

在此处输入图像描述

  • automaticallyAdjustsScrollViewInsets设置为false不起作用
  • 使用edgesForExtendedLayout = UIRectEdge.None也不起作用
  • 在这里找到一些开放的问题,但没有答案( 链接 )

UPDATE

跳跃的另一个原因是来自’Constraints’的’边缘’( 在这里找到 )。 如果使用约束,请确保取消选中边距(右对话框)。 您可以稍后在“实用程序”中将其删除(左侧对话框)。 检查两个连接的视图!

在此处输入图像描述

我刚刚找到了可能的解决方案:

在我的例子中, UIPageViewController容器的UIPageViewController视图的Top Space of 0 。 superview是包含状态栏的根容器。

我将Top Space的值更改为20,高于状态栏。 现在它不会移动状态栏下方的视图,因为它们已经存在。

希望有所帮助!