当用户的手指从屏幕上抬起时,我希望我的UIPageViewController缓慢滚动到下一页。比默认值慢。而且,如果可能的话,可以进一步控制其减速曲线等。
我不想使用SCPageViewController。但是您可以看到类似我在此演示动画的“纯模式”中谈论的效果:
我尝试获取它的基础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设置一个委托,但是我真的不知道该怎么做。
您知道什么方法可以达到这种效果,并且尽可能简单吗?
答案 0 :(得分:0)
我还没有尝试做您在说什么,但是我认为您需要通过覆盖/设置UIViewController.transitioningDelegate
或UIViewController.transitionCoordinator
来实现自己的动画。可能两者都有。网上搜索应该会为您提供一些有关进行自定义过渡的博客文章,这些文章将为您指明正确的方向。这是一个不错的开始https://www.raywenderlich.com/322-custom-uiviewcontroller-transitions-getting-started
如果这样没有帮助。我仅有的其他建议是实现您自己的页面视图控制器。