SVGAPlayer-iOS

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 全新的动画格式 高性能动画播放体验 SVGA 是一种同时兼容 iOS / Android / Web 多个平台的动...
    O蚂蚁O阅读 4,050评论 1 3
  • 前言 在开发APP的过程中,需要在APP中实现设计同学的UE效果动画,一般都是通过代码实现的,当对于较复杂的动画时...
    Japho阅读 66,313评论 27 117
  • 在一个月黑风高的夜里,一位开发 Da Lao 在朋友圈吐槽『你们 UED 设计的动画,太炫了!我们实现不了……!』...
    PonyCui阅读 24,363评论 19 42
  • 目前直播间使用动画实现,调研发现YY一个开源的项目。 项目地址:https://github.com/yyued/...
    一尾遇见阅读 12,180评论 2 0
  • 这里主要推荐一下自己平时常用,提高效率的一些库和软件。 前端常用 sweetalert2[https://gith...
    安之烟波客阅读 2,173评论 4 4

友情链接更多精彩内容