本文へスキップ
BecomeCoder

Swift(iOSアプリ)コース · 第7章 リストと画面遷移 ― 実アプリの形 · レッスン28

List ― 一覧を作る

ブラウザで完結

導入

アプリの定番、スクロールする一覧。SwiftUIでは List に部品を並べるだけで、iOSらしい行スタイルの一覧ができあがります。

説明

List { ... } の中に行を並べます。1行はViewなら何でもOK。Label を使えばアイコン付きの行になります。

struct ContentView: View {
    var body: some View {
        List {
            Label("ホーム", systemImage: "house.fill")
            Label("お気に入り", systemImage: "star.fill")
            Label("カート", systemImage: "cart.fill")
            Label("設定", systemImage: "gearshape.fill")
        }
    }
}

List は自動で、行の区切り線・スクロール・iOS標準の余白を付けてくれます。自分でレイアウトを細かく指定しなくても、「一覧らしい見た目」になるのが強みです。

行の中身は自由なので、HStack で「アイコン+タイトル+右端の数字」のような凝った行も作れます。

やってみよう

行を足したり減らしたり、systemImage のアイコン名を変えたりして、一覧の見た目を変えてみましょう。

演習

List の中に、Label で「プロフィール」という行(アイコンは person.fill)を1つ足してください。

ヒント1を見る

Label("プロフィール", systemImage: "person.fill")

ヒント2を見る

List { ... } の中に並べます。

実際に動かしてみよう

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

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

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