SVGAPlayer
介绍
SVGAPlayer
是一个轻量的动画渲染库。你可以使用工具从 Adobe Animate CC
或者 Adobe After Effects
中导出动画文件,然后使用 SVGAPlayer
在移动设备上渲染并播放。
SVGAPlayer-iOS
使用原生 CoreAnimation 库渲染动画,为你提供高性能、低开销的动画体验。
如果你想要了解更多细节,请访问官方网站。
用法
我们在这里介绍 SVGAPlayer-iOS
的用法。想要知道如何导出动画,点击这里。
使用 CocoaPods 安装依赖
添加依赖 'SVGAPlayer', '~> 2.3' 到 Podfile 文件中:
target 'MyApp' do
pod 'SVGAPlayer', '~> 2.3'
end
然后在终端执行 pod install
。
放置 svga 文件
SVGAPlayer 可以从应用包,或者远端服务器上加载动画文件。
代码
创建一个 SVGAPlayer
实例
SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:player]; // Add subview by yourself.
创建一个 SVGAParser
实例,使用以下方法从应用包中加载动画。
SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithNamed:@"posche" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
} failureBlock:nil];
创建一个 SVGAParser
实例,使用以下方法从远端服务器中加载动画。
SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
} failureBlock:nil];
将 videoItem 赋值给 SVGAPlayer
,然后播放动画。
[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
if (videoItem != nil) {
player.videoItem = videoItem;
[player startAnimation];
}
} failureBlock:nil];
缓存
SVGAParser
使用 NSURLSession
请求远端数据,你需要通过以下方式缓存动画文件。
HTTP 结果头部信息
如果服务器返回的头部信息包含 cache-control / etag / expired 这些键值,这个请求会被合理地缓存到本地。
自行缓存 NSData
如果你没有办法控制服务器返回的头部信息,你可以自行获取对应的 svga 文件 NSData
数据,然后使用 SVGAParser
解析这些数据。
功能示例
- 使用位图替换指定元素。
- 在指定元素上绘制文本。
- 隐藏指定元素。
- 在指定元素上自由绘制。
APIs
请参阅此处 https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs
CHANGELOG
请参阅此处 CHANGELOG