我正在开发使用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
})
该应用程序支持纵向和横向。过渡到下一个视图控制器的动画。当该动画开始时,如果之后开始改变方向,则在两个动画的末尾将有两个部分可见的视图控制器,而不仅仅是下一个。
我猜想它会在过渡到下一个视图控制器开始之前计算偏移量,然后以该偏移量开始动画,然后旋转并调整视图的大小,但不会重新计算偏移量。或类似的东西。有谁知道如何解决或解决此问题。
答案 0 :(得分:0)
我只是对此进行了快速的初步测试,但这可能为您完成了这项工作。
if (HasValue(myNullableDouble ?? 0.0) { ...
根据“一些整理工作” 的需要,它可能会变得有些棘手...可能需要测试if (myNullableDouble.HasValue && HasValue(myNullableDouble.Value)) {
// Has a value
} else {
// null or NaN
}
状态。