写在前面的话

在iOS中,动画的方式不仅仅有CoreAnimation,这种使用各个控件属性修改而成的动画。
我们还有最原始的动画方案 - 逐帧动画(Frame By Frame)!

意思很简单,就是使用一帧一帧的图片来进行动画的制作,有过视频编辑经验的开发者应该知道,在帧率为25~30时,人眼已经可以把它当作流畅的动画了。(什么?你要60FPS,请左转移至孤岛危机区)

本篇文章翻译于笔者在北京被抓起来隔离的14天中,目前第8天。(written in 如家)

这是一篇3分钟读物文章,用来快速设定逐帧动画。
希望能够借此篇简短的文章,抛砖引玉。

 

通过UIImageView来制作逐帧动画

作者:豪徳寺 謙
原文链接:https://qiita.com/shtnkgm/items/f0b189e4184fe6c90707

UIImage虽然是用来表示图像的控件,视作场合也可以使用作为逐帧动画。但是,如果是那种圆弧一样的形状层动画的话,请使用CAShapeLayer。

通过UIImageView来制作逐帧动画

将一张一张图像按照一定时间间隔进行表示的话,就是最后能看起来好像动画一样的逐帧动画。

如果是制作真正的动画的话,或许使用其他的API比较好,但是,要说最简单的方法,UIImageView也是一个好的选择。

目录:
1. 制作逐帧动画的步骤
2.示例代码
3.设定storyboard
4.示例动画

通过UIImageView来制作逐帧动画

首先,需要制作一个UIImage的数组,用来分割一帧一帧的动画。

生成UIImageView的实例对象,将刚才的数组设定到animationImages属性上。

示例代码

ViewController.swift

设定stroyboard

添加对应Retina屏幕@2x的图像, cat_1@2x.jpg, cat_2@2x.jpg, …

把这些放到Assets.xcassets里面。

将按钮添加至storyboard,添加适当背景色,并把「Touch up Inside」事件与start(sender: AnyObject)方法关联起来。

 

示例动画

 

总结

逐帧动画也是一项很好的解决方案,这篇文章简短的介绍了逐帧动画的设定原理。
可以作为3分钟读物来查阅~

期待下次再见~