教育148875 views
高校化学2913383 views
LaTeX957300 views
高校物理158224 views
小学算数1194618 views
中学社会667106 views
いろは2986023 views
高校国語785655 views
Computer365120 views
小学社会308636 views
Help
Tools

English

List の基本的な使い方

SwiftUI の List は、データを縦方向に並べて表示するためのコンポーネントです。UIKit の UITableView に相当しますが、はるかにシンプルに記述できます。

最もシンプルな List

List の中に直接ビューを並べるだけで、リスト表示が完成します。

struct ContentView: View {
    var body: some View {
        List {
            Text("りんご")
            Text("みかん")
            Text("バナナ")
        }
    }
}

このコードだけで、区切り線付きのリストが表示されます。各行は自動的にセルとして扱われ、タップ時のハイライトも標準で適用されます。

配列からリストを生成する

実際のアプリでは、配列データからリストを生成することがほとんどです。List のイニシャライザに配列を渡すことで、動的なリストを作成できます。

struct ContentView: View {
    let fruits = ["りんご", "みかん", "バナナ", "ぶどう", "もも"]
    
    var body: some View {
        List(fruits, id: \.self) { fruit in
            Text(fruit)
        }
    }
}

id: \.self は、各要素を一意に識別するためのキーパスです。String 型の場合は文字列そのものを識別子として使っています。

List と ForEach の組み合わせ

List の中で ForEach を使う方法もあります。この書き方は、リスト内に静的な要素と動的な要素を混在させたい場合に便利です。

struct ContentView: View {
    let fruits = ["りんご", "みかん", "バナナ"]
    
    var body: some View {
        List {
            Text("フルーツ一覧")
                .font(.headline)
            
            ForEach(fruits, id: \.self) { fruit in
                Text(fruit)
            }
        }
    }
}
List(配列) 形式

配列のみを表示する場合にシンプルに書ける

List + ForEach 形式

静的要素と動的要素を混在させたい場合に使う

List は SwiftUI でデータ一覧を表示する際の基本コンポーネントです。次の記事では ForEach についてより詳しく解説します。