目前我正在使用UIWebView
在我的原生iOS应用程序中显示动画svg文件。
这个工作正常,只要app处于前台,CPU使用率一直在较高的一侧。
有没有更好的方法可以在不使用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文件的开启链接
答案 0 :(得分:-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];
此处cd-icon.svg
是svg图片。将所有html,js和css文件放在你的包中! (将整个svg文件夹放在你的项目中)
如果您收到与CocoaLumberjack
相关的任何错误,请在项目中安装pod 'CocoaLumberjack'
,并将@import CocoaLumberjack;
替换为#import "CocoaLumberjack.h"
中的SVGKit-prefix.pch
按照我的提及,一步一步地按照一切步骤。你完成了。您将在UIView
而不是webview
中显示svg。