如何在不使用UIWebView的情况下在iOS中显示动画svg文件

Mih*_*hta 7 iphone ios svg-animate swift

目前我UIWebView用来在我的原生iOS应用程序中显示动画svg文件.

这种方法很好,只要app处于前台,CPU使用率一直在较高的一侧.

有没有更好的方法来显示svg文件而不使用 UIwebView

我已经尝试了很多第三方库,但都只适用于静态svg文件而不是动画svgs

我试过以下

https://github.com/mchoe/SwiftSVG

https://github.com/exyte/Macaw

https://github.com/onmyway133/Snowflake

https://github.com/SVGKit/SVGKit

我的应用程序支持iOS 9及更高版本,我的代码在Swift3中

这是我想要显示的svg文件的on的链接

http://www.mediafire.com/file/04ojy6t4e3c41lv/03d.svg

Lio*_*ion -1

你应该看看SVGKit

该库基于核心动画。

参考这个教程

首先安装 pod 或手动将 SVGKit 安装到您的项目中。

然后将 svg 文件拖放到您的项目中。

然后你可以做类似的事情,

  UIView *myView = [[UIView alloc]initWithFrame:CGRectMake(20, 70, 300, 300)];

myView.backgroundColor = [UIColor yellowColor];

[self.view addSubview:myView];

 // SVGKImage *image = [SVGKImage imageWithContentsOfFile:@"animated-svg-icon"];

SVGKImage *image = [SVGKImage imageNamed:@"cd-icon.svg"];

[self animateCALayer:image.CALayerTree duration:2.0];
[myView.layer addSublayer:image.CALayerTree];
Run Code Online (Sandbox Code Playgroud)

cd-icon.svg是 svg 图像。将所有 html、js 和 css 文件放入您的捆绑包中!(将 svg 的整个文件夹放入您的项目中)

如果您遇到任何相关错误CocoaLumberjack,请安装pod 'CocoaLumberjack'在您的项目中并替换@import CocoaLumberjack;#import "CocoaLumberjack.h"SVGKit-prefix.pch

按照我提到的一步一步进行。你就完成了。您将显示 svgUIView而不是webview.