UIPageViewController-到下一个视图控制器的动画过渡与方向更改混合在一起

时间:2019-02-07 13:27:02

标签: ios uipageviewcontroller

我正在开发使用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
})

该应用程序支持纵向和横向。过渡到下一个视图控制器的动画。当该动画开始时,如果之后开始改变方向,则在两个动画的末尾将有两个部分可见的视图控制器,而不仅仅是下一个。

我猜想它会在过渡到下一个视图控制器开始之前计算偏移量,然后以该偏移量开始动画,然后旋转并调整视图的大小,但不会重新计算偏移量。或类似的东西。有谁知道如何解决或解决此问题。

1 个答案:

答案 0 :(得分:0)

我只是对此进行了快速的初步测试,但这可能为您完成了这项工作。

if (HasValue(myNullableDouble ?? 0.0) { ...

根据“一些整理工作” 的需要,它可能会变得有些棘手...可能需要测试if (myNullableDouble.HasValue && HasValue(myNullableDouble.Value)) { // Has a value } else { // null or NaN } 状态。