放慢UIPageViewController分页

时间:2018-09-30 21:59:40

标签: swift uipageviewcontroller

当用户的手指从屏幕上抬起时,我希望我的UIPageViewController缓慢滚动到下一页。比默认值慢。而且,如果可能的话,可以进一步控制其减速曲线等。

我不想使用SCPageViewController。但是您可以看到类似我在此演示动画的“纯模式”中谈论的效果:

Slower scroll

我尝试获取它的基础UIScrollView并设置其decelerationRate:

let scrollView = view.subviews.filter { $0 is UIScrollView }.first as! UIScrollView
scrollView.decelerationRate = .normal // or .fast

但是我看不到任何效果。我还尝试使用以下方式分配自定义decelerationRate:

UIScrollView.DecelerationRate(rawValue: 0.5)

它也没有任何作用,decelerationRate会重置为以前的状态(.normal或.fast)

我也知道我可以为UIScrollView设置一个委托,但是我真的不知道该怎么做。

您知道什么方法可以达到这种效果,并且尽可能简单吗?

1 个答案:

答案 0 :(得分:0)

我还没有尝试做您在说什么,但是我认为您需要通过覆盖/设置UIViewController.transitioningDelegateUIViewController.transitionCoordinator来实现自己的动画。可能两者都有。网上搜索应该会为您提供一些有关进行自定义过渡的博客文章,这些文章将为您指明正确的方向。这是一个不错的开始https://www.raywenderlich.com/322-custom-uiviewcontroller-transitions-getting-started

如果这样没有帮助。我仅有的其他建议是实现您自己的页面视图控制器。