SVGAPlayer
介紹
SVGAPlayer 是一個輕量的動畫渲染庫。你可以使用工具從 Adobe Animate CC 或者 Adobe After Effects 中導(dǎo)出動畫文件,然后使用 SVGAPlayer 在移動設(shè)備上渲染并播放。
SVGAPlayer-iOS 使用原生 CoreAnimation 庫渲染動畫,為你提供高性能、低開銷的動畫體驗。
如果你想要了解更多細節(jié),請訪問官方網(wǎng)站。
用法
我們在這里介紹 SVGAPlayer-iOS 的用法。想要知道如何導(dǎo)出動畫,點擊這里。
使用 CocoaPods 安裝依賴
添加依賴 'SVGAPlayer', '~> 2.3' 到 Podfile 文件中:
target 'MyApp' do
pod 'SVGAPlayer', '~> 2.3'
end
然后在終端執(zhí)行 pod install。
放置 svga 文件
SVGAPlayer 可以從應(yīng)用包,或者遠端服務(wù)器上加載動畫文件。
代碼
創(chuàng)建一個 SVGAPlayer 實例
SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:player]; // Add subview by yourself.
創(chuàng)建一個 SVGAParser 實例,使用以下方法從應(yīng)用包中加載動畫。
SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithNamed:@"posche" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
} failureBlock:nil];
創(chuàng)建一個 SVGAParser 實例,使用以下方法從遠端服務(wù)器中加載動畫。
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 請求遠端數(shù)據(jù),你需要通過以下方式緩存動畫文件。
HTTP 結(jié)果頭部信息
如果服務(wù)器返回的頭部信息包含 cache-control / etag / expired 這些鍵值,這個請求會被合理地緩存到本地。
自行緩存 NSData
如果你沒有辦法控制服務(wù)器返回的頭部信息,你可以自行獲取對應(yīng)的 svga 文件 NSData 數(shù)據(jù),然后使用 SVGAParser 解析這些數(shù)據(jù)。
功能示例
APIs
請參閱此處 https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs
CHANGELOG
請參閱此處 CHANGELOG