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上で表示させると、こんな感じになります。