LottieService 0.1.5

LottieService 0.1.5

sfh03031维护。



 
依赖
lottie-ios= 2.5.3
SSZipArchive>= 0
 

  • 作者
  • Sfh03031

LottieService

CI Status Version License Platform

在iOS端Lottie无法加载带图片的远程动效文件(安卓可以,安卓可以直接加载远程带图片的json动效文件,也可直接加载对应的.zip压缩文件), 主要原因是json文件的加载是异步,用url初始化LOTAnimationView的时候该LOTAnimationView的sceneModel为空,所以动效加载不出来。

由于LOTAnimationView的内部没有加载完成的回调,想到的处理思路是监听sceneModel的设置或者生成一个sceneModel赋值给LOTAnimationView, 前者需要改动Lottie源文件不方便pods管理,所以采用动态生成一个sceneModel赋值给LOTAnimationView的方式。

主要思路是先下载.zip动效文件到沙盒,解压后的数据去生成一个LOTComposition对象,最后用LOTAnimationView的sceneModel去加载 具体实现参考LottieService类,入口文件里只关注生成LOTComposition对象后的回调,拿到sceneModel去赋值

注: 1、项目中使用的Lottie-ios库是OC语言编写的2.5.3版本,解压缩zip使用的是SSZipArchive库 2、新版本的Lottie库已经是swift语言编写的了,如果不支持远程带图片的动效压缩包文件,仍旧可以采取这种思路去处理。

示例

要运行示例项目,首先从仓库中克隆,然后先从Example目录中运行pod install

要求

安装

LottieService可以通过CocoaPods获得。要安装它,只需将以下行添加到Podfile中

pod 'LottieService'

作者

Sfh03031,[email protected]

许可

LottieService可在MIT许可下使用。有关更多信息,请参阅LICENSE文件。