【问题标题】:UIPageViewController: Child Controller ignoring status bar height during scrollingUIPageViewController:子控制器在滚动期间忽略状态栏高度
【发布时间】:2014-12-18 02:18:25
【问题描述】:

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

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

  • automaticallyAdjustsScrollViewInsets 设置为 false 无效
  • edgesForExtendedLayout = UIRectEdge.None 的使用也不起作用
  • 在这里找到了一些未解决的问题,但没有答案 (link)

更新

跳跃的另一个原因是“约束”中的“边距”(found here)。如果您使用约束,请确保取消选中边距(右侧对话框)。您可以稍后在实用程序(左侧对话框)中删除它们。检查两个连接的视图!

【问题讨论】:

  • 刚刚偶然发现完全相同的问题,但仍然没有找到答案:(如果你能正常工作,请告诉我
  • 无法重现,无论是否滚动,所有页面都在状态栏后面,如果我将pageViewController的frame的原始Y设置为20,则所有页面都不在它后面。一个示例项目会有所帮助。

标签: ios statusbar uipageviewcontroller


【解决方案1】:

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

在我的例子中,UIPageViewController 容器对其父视图有一个Top Space of 0 约束。 superview 是包含状态栏的根容器。

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

希望有帮助!

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    相关资源
    最近更新 更多