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 - 一个超简单的导航转换动画的主要内容,如果未能解决你的问题,请参考以下文章

超简python命令行tab一键补全方法

Redisson 分布式锁超简封装

Spring 环境与profile——超简用例

如何用 Python 开发一个简单的 Webkit 浏览器,只需四步超简

Virtex6 PCIe 超简版基础概念学习

Virtex6 PCIe 超简版基础概念学习