本文へスキップ
BecomeCoder

Swift(iOSアプリ)コース · 第5章 SwiftUI入門 ― 画面を作る · レッスン22

アイコンを出す ― Image と SF Symbols

ブラウザで完結

導入

アプリらしさはアイコンから。Appleは何千もの美しいアイコン SF Symbols を用意していて、SwiftUIから名前を指定するだけで使えます。

説明

Image(systemName: "名前") でSF Symbolsのアイコンを表示します。

struct ContentView: View {
    var body: some View {
        VStack(spacing: 20) {
            Image(systemName: "heart.fill")
                .font(.largeTitle)
                .foregroundColor(.red)
            HStack(spacing: 16) {
                Image(systemName: "star.fill")
                    .foregroundColor(.yellow)
                Image(systemName: "bell.fill")
                Image(systemName: "gearshape.fill")
                    .foregroundColor(.gray)
            }
            Label("お気に入り", systemImage: "bookmark.fill")
        }
        .padding()
    }
}

アイコンも Text と同じく .font(...) で大きさ、.foregroundColor(...) で色を変えられます。Label("文字", systemImage: "アイコン名") を使うと、アイコンと文字をセットで並べられます。

代表的な名前:heart.fill(ハート)star.fill(星)house.fill(家)person.fill(人)cart.fill(カート)trash(ゴミ箱)magnifyingglass(虫めがね)plus(+)など。

やってみよう

systemName"house.fill""cart.fill" に変えて、いろいろなアイコンを表示してみましょう。色や大きさも変えてみてください。

演習

Image(systemName:) で家のアイコン house.fill を、色 .green で表示してください。

ヒント1を見る

Image(systemName: "house.fill")

ヒント2を見る

.foregroundColor(.green) を付けます。

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

Swift / SwiftUI — ブラウザ内で実行(学習用)

Swiftの教材サブセットを動かす学習用ランナーを読み込みます。ふつうのコードは print の出力を表示し、SwiftUI(struct: View)を書くと右にiPhone風のライブプレビューを描画します(本物のXcode/Swiftコンパイラではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。