【发布时间】:2018-07-30 12:29:45
【问题描述】:
我有一个UIPageViewController 子类,它允许用户从初始视图控制器向上滑动到第二个视图控制器。初始视图控制器没有导航栏(它没有连接到UINavigationController),但第二个有。目前,当我向上滑动以呈现第二个视图控制器时,导航栏中没有空间用于状态栏。过渡完成后,整个视图控制器布局会立即更新以添加状态栏空间。我想让第二个视图控制器预计状态栏会在那里并为其添加空间,以便视图在转换后不会摇晃。
Short video clip showing the jolt
Similar, but unanswered question
编辑:
在仔细观察了视图控制器在转换过程中的行为方式之后,我能够很好地了解这里发生了什么。
- 当我向上滑动时,第二个视图控制器向上移动并将导航栏(无状态栏)的顶部边缘与屏幕顶部对齐。看起来内容的大小/布局是正确的,所以底部有空格,即状态栏的高度。查看屏幕截图:
- 过渡完成后,状态栏的空间被添加,视图向下移动。
【问题讨论】:
-
请先查看这篇文章 - blog.jaredsinclair.com/post/61507315630/… 并发布您的转换代码
-
@ignotusverum 感谢您的文章。至于代码,转换由
UIPageViewController管理。我的子类只提供了两个视图控制器并实现了委托的pageViewController(_:didFinishAnimating:previousViewControllers:transitionCompleted:)
标签: ios swift uinavigationbar statusbar uipageviewcontroller