TransformAnimation - 一个超简单的导航转换动画
Posted 颐和园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TransformAnimation - 一个超简单的导航转换动画相关的知识,希望对你有一定的参考价值。
TransformAnimation 实现了一个导航转换动画,用于替换系统导航控制器默认的 push 动画:
当你点击第一个 view controller 的 Butto,转换动画开始播放。
这个动画首先会从位于视图中央的大图片开始,然后快速移动并缩小到右下角。
动画结束时,第二个 view controller 呈现。
git 地址:https://gitee.com/kmyhy/transform-animat
用法
首先,将这 2 个文件拖到项目中:
- UIView+Extension.swift
- TransformAnimator.swift
创建两个 view controller,实现 TransformAinmationViewController ,包括这两个属性:
protocol TransformAnimationViewController
var animator: TransformAnimator get
var animatingView: UIView get
例如,假设有两个 view controllr: FirstViewController 和 SecondViewController,它们必须这样实现这 2 个属性:
var animator = TransformAnimator()
var animatingView: UIView
return imageView
注意 animator 是存储属性,你不能把它放到扩展中去实现。animatingView 是一个 UIView,也就是你即将对它进行动画的那个 view。通常,它可能是一个 UIImageView(也可能是一个 IBOutlet),比如像上图中的瓶子图片。
然后在 它们的 viewDidAppear 方法中:
navigationController?.delegate = animator
同时,你也需要在 viewDidDisappear 方法中添加:
navigationController?.delegate = nil
Build & run. 恭喜! 你的自定义导航转换动画大功告成了!
以上是关于TransformAnimation - 一个超简单的导航转换动画的主要内容,如果未能解决你的问题,请参考以下文章