ぼちぼちSwiftUIをやってるマスタカです
今回Listを使うために諸々調べたのでそのまとめ
・ListViewの高さの最小値の変更
https://stackoverflow.com/questions/58242342/swiftui-row-height-of-list-how-to-control
List { } .environment(\.defaultMinListRowHeight, 0)
・List内の要素のpaddingの削除
https://stackoverflow.com/questions/68043037/how-can-i-remove-the-minimum-vertical-padding-or-minimum-height-of-a-list-row-in
List{ HStack { Text(name) } .listRowInsets(EdgeInsets()) }
・ForEachに数字のラベルをつける
\.offsetをidに指定する必要がある
これつけないとindexが増えない
https://stackoverflow.com/questions/57244713/get-index-in-foreach-in-swiftui
\は以下の意味があるとのこと
>In SwiftUI, the backslash operator is used to refer keypath to use inside given block.
https://stackoverflow.com/questions/56489766/what-is-the-backslash-used-for-in-swiftui
ForEach(Array(array.enumerated()), id: \.offset) { index, element in }
・Listの各要素タップのハイライト
Buttonにする必要があるとのこと。
これ実装微妙に思うんだけど・・・
https://note.com/taatn0te/n/n225eb65839bc
・Scrollで特定の位置に移動する
https://capibara1969.com/3562/
ScrollViewReader { scrollProxy in ForEach(Array(array.enumerated()), id: \.offset) { index, element in Text().id(index) } Button(action: { //0で一番上に行く scrollProxy.scrollTo(0) }){ } }