- 1.创建Xcode-App工程
- 2.终端打开-cd 到项目目录中
- 3.pod init 创建 Podfile
- 4.编写podfile
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'SVGAPlayer-练习' do
pod 'SVGAPlayer'
end
- 5.pod install --no-repo-update
- 6.
#import <SVGAPlayer/SVGA.h> 引入头文件
- 7.
@property (nonatomic, strong) SVGAPlayer *headFramePlayer; // 动态头像框成员属性
- 8.懒加载
- (SVGAPlayer *)headFramePlayer{
if (!_headFramePlayer) {
_headFramePlayer = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 70, 100, 100)];
_headFramePlayer.backgroundColor = [UIColor redColor];
_headFramePlayer.loops = 0;
_headFramePlayer.contentMode = UIViewContentModeScaleAspectFit;
_headFramePlayer.userInteractionEnabled = NO;
_headFramePlayer.clearsAfterStop = YES;
SVGAParser *parser = [[SVGAParser alloc] init];
__weak typeof(self) weakSelf = self;
[parser parseWithURL:[NSURL URLWithString:@"https://appfile.longyouquwa.cn/upload/gift/48741577444818.svga"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
if (videoItem != nil) {
weakSelf.headFramePlayer.videoItem = videoItem;
[weakSelf.headFramePlayer startAnimation];
}
} failureBlock:nil];
}
return _headFramePlayer;
}
- 9.添加到视图中
[self.view addSubview:self.headFramePlayer];
-
info.plist添加App Transport Security Settings- Allow Arbitrary Loads设置为YES
- 11.运行就可以了
- 12.源码
#import "ViewController.h"
#import <SVGAPlayer/SVGA.h>
@interface ViewController ()
@property (nonatomic, strong) SVGAPlayer *headFramePlayer;
@property (nonatomic, strong) SVGAPlayer *wavePlayer;
@property (nonatomic, strong) SVGAParser *waveParser;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:self.headFramePlayer];
[self.view addSubview:self.wavePlayer];
}
- (SVGAPlayer *)headFramePlayer{
if (!_headFramePlayer) {
_headFramePlayer = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 70, 100, 100)];
_headFramePlayer.backgroundColor = [UIColor redColor];
_headFramePlayer.loops = 0;
_headFramePlayer.contentMode = UIViewContentModeScaleAspectFit;
_headFramePlayer.userInteractionEnabled = NO;
_headFramePlayer.clearsAfterStop = YES;
SVGAParser *parser = [[SVGAParser alloc] init];
__weak typeof(self) weakSelf = self;
[parser parseWithURL:[NSURL URLWithString:@"https://appfile.longyouquwa.cn/upload/gift/48741577444818.svga"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
if (videoItem != nil) {
weakSelf.headFramePlayer.videoItem = videoItem;
[weakSelf.headFramePlayer startAnimation];
}
} failureBlock:nil];
}
return _headFramePlayer;
}
- (SVGAPlayer *)wavePlayer{
if (!_wavePlayer) {
_wavePlayer = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 190, 100, 100)];
_wavePlayer.backgroundColor = [UIColor orangeColor];
_wavePlayer.loops = 0;
_wavePlayer.contentMode = UIViewContentModeScaleAspectFit;
_wavePlayer.userInteractionEnabled = NO;
_wavePlayer.clearsAfterStop = YES;
__weak typeof(self) weakSelf = self;
[self.waveParser parseWithNamed:@"sound_wave_left" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
__strong typeof(weakSelf) stongSelf = weakSelf;
if (videoItem != nil) {
self.wavePlayer.videoItem = videoItem;
[self.wavePlayer startAnimation];
}
} failureBlock:^(NSError * _Nonnull error) {
}];
}
return _wavePlayer;
}
- (SVGAParser *)waveParser {
if (!_waveParser) {
_waveParser = [[SVGAParser alloc] init];
}
return _waveParser;
}
@end
- 13.这里我加载了一个本地的.svga问价用法是一样的就不赘述了。可以从网上下载资料进行测试。