酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

SwiftでSVGKitを使ってSVG画像を表示する

SVGはベクター形式の画像フォーマットのひとつです。SVGを使ったことがなかったので調べたこともないのですが、SVGをUIImageに変換するライブラリはいくつかあるようです。

ここでは、SVGKitを使って画像を表示しました。

導入にはいつもどおりCocoaPodsを使います。Podfileに下記のように記述します。

platform :ios, '9.0'
use_frameworks!

pod 'SVGKit', :git => 'https://github.com/SVGKit/SVGKit.git', :branch => '2.x' 

Podfileに追記した後はpod installをおこないます。

$ cd /Users/ch3cooh/Documents/works/sampleapp/
$ pod install

SVGKitはObjective-Cで書かれていますので、Bridging-Header.hに以下のようにimportしておきます。

#import <SVGKit/SVGKit.h>

あとはソースコード上で、NSDataインスタンスをSVGKImageクラスのコンストラクタに渡して、サイズを指定して'SVGKImage#UIImageプロパティ'からUIImageインスタンスを取得します。

let data = loadSVGData()

if let svgImage = SVGKImage(data: data) {
    svgImage.size = CGSizeMake(50, 50)

    self.imageView.image = svgImage.UIImage
}

UITableView上で表示させると、こんな感じになります。

f:id:ch3cooh393:20160121113950p:plain