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