SwiftUIでのアプリ開発を進めていると、SVGの取り扱いについての要件が出てくることがあります。SwiftUIはネイティブでSVGをサポートしていないため、この記事ではSwiftSVGというサードパーティライブラリを利用してSVGを表示する方法を解説します。
目次
SwiftSVGの導入
SwiftSVGをプロジェクトに追加するには、Swift Package Managerを使って簡単に導入することができます。
- Xcodeを開き、対象のプロジェクトを選択します。
- ナビゲーションバーの「File」 > 「Swift Packages」 > 「Add Package Dependency...」を選択します。
- パッケージリポジトリURLに
https://github.com/mchoe/SwiftSVG.git
を入力し、"Next"をクリックします。 - 必要なバージョンを選択し、"Next"をクリックします。
- インストールしたいターゲットを選択し、"Finish"をクリックします。
import SwiftSVG
プロジェクトへのSVGファイルの追加方法
SVGファイルをXcodeプロジェクトに追加する方法は非常にシンプルです。
- Xcodeのプロジェクトナビゲーターを開きます。
- SVGファイルをFinderから直接ドラッグ&ドロップします。
- 以下のオプションを選択します:
- Copy items if needed
- Create groups
- Add to targets (メインのアプリターゲットを選択)
SVGをSwiftUIで表示する
SwiftSVGと組み合わせてSVGをSwiftUIで表示する基本的な方法を以下に示します:
import SwiftSVG
let svgView = UIView(SVGNamed: "your_svg_name") { (svgLayer) in
svgLayer.resizeToFit(self.bounds)
}
struct SVGView: UIViewRepresentable {
func makeUIView(context: Context) -> UIView {
return svgView
}
func updateUIView(_ uiView: UIView, context: Context) {
}
}
これで、SwiftUIのビューヒエラルキー内でSVGView
を使用してSVGを表示することができます。
まとめ
この記事では、SwiftUIでSVGファイルを扱う方法についてSwiftSVGライブラリを使用して説明しました。SwiftSVGを使うことで、SwiftUIアプリ内でのSVGの表示が非常に簡単になります。SVGの要件がある場合は、このライブラリの導入を検討してみてください。
いいねやフィードバックをいただけると嬉しいです!