SwiftUIでリストを表現する場合はListビューを使う。
これまでUIKitでリストを表現する場合、UITableViewを使ってStoryBoardとコードの関連付けやデリゲートの実装など、手順が多く実装が面倒だったのだが、SwiftUIでは少ないコード量かつシンプルな記述でリストを実装することができる。
最も簡単なListビューの実装例
リストに表示するビューをクロージャで指定するだけで良い。
import SwiftUI
struct ContentView: View {
var body: some View {
List {
Text("aaa")
Text("bbb")
Text("ccc")
}
}
}
UITableViewと比べると圧倒的に簡潔に実装することができるのだ。
また、行によってデザインを変える場合も簡単なコードで実装することができる。
import SwiftUI
struct ContentView: View {
var body: some View {
List {
Text("aaa")
HStack {
Text("bbb")
Spacer()
Image(systemName: "heart.circle.fill")
}
Text("ccc")
}
}
}
上記は2行目のみHStackを使って二つのビューを組み合わせて表示させた例だが、このように直感的にコードを書くことができる。