次のように、可変長の文字列を並べて表示する垂直グリッド (ソーシャル メディア タグのコレクションなど) を作成しようとしています。
struct ContentView: View {
let data = ["first text",
"second text",
"long text for testing",
"short",
"some medium text"
]
let gridItem = GridItem(.adaptive(minimum: 40, maximum: 300))
var body: some View {
ScrollView {
LazyVGrid(columns: [gridItem]) {
ForEach(data, id:\.self) { item in
Text(item)
.lineLimit(1)
.background(Color.red)
}
}
}
}
}
しかし、問題LazyVGrid
は、イニシャライザで定義された最小アイテム幅に関連付けられているため、各アイテムの幅に動的に適応できないことです。
上記のコードの結果は次のとおりです。
私の質問は、SwiftUI の垂直方向にスクロール可能なビューに可変長文字列の動的リストを表示するにはどうすればよいですか?