ZoomingTransition iOS缩放过渡动画库

iOS 里的缩放过渡动画,做得好看又丝滑,其实挺费劲的。ZoomingTransition这个库就挺实用,封装得还不错,用起来也不复杂,适合你在做那种类似 App Store、图片浏览器那类的场景。

Swift 的 ZoomingTransition 动画,支持 iOS 10 以上,Swift 5 跑得挺稳。装起来也简单,直接用pod 'ZoomingTransition'就能搞定,几秒钟的事儿。

关键的点是:你的 ViewController 继承自ZoomPushVC,再实现下ZoomTransitionAnimatorDelegate就可以了。要是配合UICollectionView或者UITableView那种选中 item 后放大展示的需求,正好合适。

比如你可以在transitionWillStart()里拿到lastSelectedIndexPath,定位动画的起始视图。代码其实清爽,逻辑也好控制:

class MyPushVC: ZoomPushVC, ZoomTransitionAnimatorDelegate {
  var lastSelectedIndexPath: IndexPath? = nil

func transitionWillStart() { guard let lastSelected = self.lastSelectedIndexPath else { return } // 自己的逻辑 } }

效果上看着还蛮顺的,缩放的时候还能做点微调,比如动画速度、透明度什么的都能自定义。如果你对自定义转场有点经验,那这个库用起来会觉得蛮顺手。

要注意一点:虽然它支持从列表页跳转到详情页的缩放,但反过来的 dismiss 动画就得自己再下,配合好你的导航结构就行了。

如果你还在纠结怎么让页面切换更“丝滑”,可以去看看这个库,也可以参考下这篇文章:Swift 自定义 UIViewController 缩放过渡动画,有点。

zip 文件大小:6.74MB