【发布时间】:2019-02-07 13:27:01
【问题描述】:
我正在开发一个使用 UIPageViewController 的应用程序。在 UIPageViewController 子类中,我正在设置下一个视图控制器,如下所示:
guard let currentViewController = self.viewControllers?.first else { return }
guard let nextViewController = dataSource?.pageViewController(self, viewControllerAfter: currentViewController) else { return }
self.setViewControllers([nextViewController], direction: .forward, animated: true, completion: { (finished) in
// some finishing work
})
该应用支持纵向和横向。到下一个视图控制器的过渡是动画的。当该动画开始时,如果在此之后开始更改方向,则在两个动画结束时将有两个部分可见的视图控制器,而不仅仅是下一个。
我猜它在过渡到下一个视图控制器开始之前计算偏移量,然后使用此偏移量启动动画,然后旋转并调整视图大小,但不重新计算偏移量。或类似的东西。有谁知道如何解决或解决这个问题。
【问题讨论】: