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 缩放过渡动画,有点。
6.74MB
文件大小:
评论区