iOS SVGKit的使用

svg 可缩放的矢量图形

SVG 可伸缩矢量图形 (Scalable Vector Graphics)

SVG 文件是纯粹的 XML

SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失


iOS 中使用SVG的使用

1. .svg 是纯粹的XML,所以iOS中可以用 UIWebView来加载

具体如下:

NSString *svgName = @"svg名称";

NSString *svgPath = [[NSBundle mainBundle] pathForResource:svgName ofType:nil];

NSData *svgData = [NSData dataWithContentsOfFile:svgPath];

NSString *reasourcePath = [[NSBundle mainBundle] resourcePath];

NSURL *baseUrl = [[NSURL alloc] initFileURLWithPath:reasourcePath isDirectory:true];

UIWebView *webView = [[UIWebView alloc] init];

webView.frame = CGRectMake(0, 0, width, height);

[webView loadData:svgData MIMEType:@"image/svg+xml" textEncodingName:@"UTF-8" baseURL:baseUrl];

这样就看到了你想看到滴

如果想要交互并且放大缩小,难度就大了,然后我就百度了下,发现了个好东西SVGKit

2. SVGKit的使用

首先,得导入

a 从https://github.com/SVGKit/SVGKit下载demo(github上有导入过程,但是很多问题)

b 打开 “SVGKit-iOS.xcodeproj”

iOS SVGKit的使用_第1张图片

c cmd-B 编译

d 然后

iOS SVGKit的使用_第2张图片

e 选择 Debug-universal / Release-universal 中的 libSVGKit-iOS.2.x.x.a文件 和 usr文件夹,拖入到你的项目中

iOS SVGKit的使用_第3张图片

注意:如果想要 Debug文件,需要在 Xcode-Edit Scheme 中选择 Debug;

如果想要 Release文件,需要在 Xcode-Edit Scheme 中选择 Release

iOS SVGKit的使用_第4张图片


iOS SVGKit的使用_第5张图片

f 设置下环境

f1. 在 Build Settings 中,"Other Linker Flags" 加上 -ObjC

f2. 在 Build Phases 中,添加 CoreText / CoreImage/ libxml2.dylib/ QuartzCore/ CoreGraphics/ UIKit 

f3. 找到下图文件夹,将 你需要适配的 拖入你的项目中

iOS SVGKit的使用_第6张图片

f4. 按照步骤添加 CocoaLumberjack.framework

iOS SVGKit的使用_第7张图片

到此为止,编译运行OK,导入成功

然后,该使用了

a 导入头文件

 #import "SVGKit.h"

#import "SVGKImage.h"

#import "SVGKParser.h"

b 使用

NSString *svgName = @"svgName";

SVGKImage *svgImage = [SVGKImage imageNamed:svgName];

SVGKLayeredImageView *svgView = [[SVGKLayeredImageView alloc] initWithSVGKImage:svgImage];

svgView.backgroundColor = clearColor;

大功告成!!!

3 交互放大缩小

a 放大缩小的话,直接把 SVGImage 添加到 UIScrollView 上

b 交互的话,直接把 SVGImage 当成 UIView 使用就行,可以在上面随意添加 控件

你可能感兴趣的:(iOS SVGKit的使用)