UIPageViewController 过渡协调器

UIPageViewController transitionCoordinator

有没有可能得到UIPageViewControllertransitionCoordinator

每次我尝试获取它都是 nil。它甚至使用一个吗?

如果不是,是否有非 hacky 方式来响应页面之间的滚动进度?

(hacky = 迭代子视图以获得滚动视图并成为滚动视图委托。这并不理想,因为 UIPageViewController 对其滚动视图所做的 "magic")

谢谢

经过多年的实验,我从未发现UIPageViewController的transitionCoordinator不是nil的情况。

而且,正如 Fogmeister 在这个原始问题和评论中指出的那样,因此也没有好的方法来跟踪页面视图控制器滚动动画并与之协调。

我的解决方案是滚动我自己的分页滚动视图来执行 UIPageViewController 所做的事情,即它预加载此页面之前和之后的页面视图,但不会预加载其他页面视图,以便节省内存。现在我们有了一个普通的滚动视图,我们可以作为它的委托,我们可以做任何我们想做的关于滚动的事情。

这并没有那么难,事实上,在有 UIPageViewController 之前我们就是这样做的(是的,我记得那些日子很清楚)。

Apple 甚至提供了如何操作的示例:https://developer.apple.com/library/archive/samplecode/PageControl/Introduction/Intro.html