1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SwiftUIでSVGを扱う方法: SwiftSVGライブラリを活用した完全ガイド

Posted at

SwiftUIでのアプリ開発を進めていると、SVGの取り扱いについての要件が出てくることがあります。SwiftUIはネイティブでSVGをサポートしていないため、この記事ではSwiftSVGというサードパーティライブラリを利用してSVGを表示する方法を解説します。

目次


SwiftSVGの導入

SwiftSVGをプロジェクトに追加するには、Swift Package Managerを使って簡単に導入することができます。

  1. Xcodeを開き、対象のプロジェクトを選択します。
  2. ナビゲーションバーの「File」 > 「Swift Packages」 > 「Add Package Dependency...」を選択します。
  3. パッケージリポジトリURLにhttps://github.com/mchoe/SwiftSVG.gitを入力し、"Next"をクリックします。
  4. 必要なバージョンを選択し、"Next"をクリックします。
  5. インストールしたいターゲットを選択し、"Finish"をクリックします。
import SwiftSVG

プロジェクトへのSVGファイルの追加方法

SVGファイルをXcodeプロジェクトに追加する方法は非常にシンプルです。

  1. Xcodeのプロジェクトナビゲーターを開きます。
  2. SVGファイルをFinderから直接ドラッグ&ドロップします。
  3. 以下のオプションを選択します:
    • 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の要件がある場合は、このライブラリの導入を検討してみてください。

いいねやフィードバックをいただけると嬉しいです!

1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?