如何为 UIPageViewController 处理的页面内的容器设置动画,并且此动画与页面滑动(页面更改)相关?

How to animate a container inside a page handled by UIPageViewController, and this animation being related to page swiping (page change)?

我有一个工作轮播,其中有几页,最后一页有一个登录表单,后面播放了一段不错的视频。 这个轮播由 UIPageViewController 管理,一些内容固定在背景视频视图上(这是我的入口点,从那里,我实例化 UIPageVIewController),其他内容随页面交换而变化。 所以在除了最后一页之外的每一页中,我需要在视图底部放置一个带有两个按钮的容器,当用户滑动到最后一页时,我希望这个容器以相同的速度向下移动并消失在边缘用户滑动(链接到页面交换)。 谁能帮助我找到实现该目标的最佳方法?

UIPageViewController 继承自 UIViewController,即使它最有可能使用 UIScrollView 发挥其魔力,滚动视图也不会公开,因此如果您需要一种方法来获取准确报告滚动位置(这是完成您想要的操作所必需的),您不会在 UIPageViewController 中找到它。

如果你想做对,你将不得不使用 UIPageViewController 以外的东西。您可以使用普通 UIScrollView 轻松完成相同的功能。如果您使其项目大小等于视图的框架(或任何其他集合视图技巧,其中有很多),即使 UICollectionView 也可以。

但是,如果您也在寻找性感的卷页动画,这些日子通过 CATransaction 并将其 type 设置为 pageCurl 也很常见(请参阅 here).

UIScrollView 或其任何子类上实现分页后,您可以使用其 contentSizecontentOffset 属性来绑定自定义动画(移出和消失)。