如何在iOS中完成Instagram Stories立方体过渡?

ale*_*ist 7 swipe ios instagram uipageviewcontroller swift

当在Instagrams新故事"Stories"(你知道从一个故事到另一个故事时就像立方体一样的过渡)之间的故事之间滑动时,我无法理解他们是如何做到的!

首先,如果您深入了解功能,您会发现它的工作原理与UIPageViewControllers过渡完全相同:

- 从一个视图快速滑动到另一个视图时它会反弹.
- 您可以通过触摸屏幕在过渡过程中暂停滑动.

开发团队无法使用基于更熟知的解决方案的解决方案,例如:
https://www.appcoda.com/custom-view-controller-transitions-tutorial/
因为据我所知我的两个声明以上是除了PageViewController之外的其他任何东西都无法实现的.

这让我觉得Instagram开发团队获得了对PageViewController的新过渡样式的访问权限,也称为Cube-scroll,或者它是一种我不知道的变通方法?

有任何想法吗?

oyv*_*uge 8

我曾经尝试过重新创建这个功能.你可以在GitHub上查看源代码:https://github.com/oyvind-hauge/OHCubeView

我正在使用滚动视图(启用分页),并且对于每个子视图,我在滚动视图中将它们作为给定视图的当前x偏移的函数进行操作.使用Core Animation在每个子视图的图层上完成实际动画(更具体地说,使用CATransform3DRotate方法转换由CATransform3DIdentity给出的单位矩阵).

阴影效果也应用于子视图的图层(view.layer.opacity),阴影量由屏幕上显示的视图大小决定.

我的实现解决了您的两个问题(滑动时弹跳,可以暂停滑动).我确信这也可以使用UIPageViewController实现,但我讨厌使用它们.