SwiftUI: отображение строк переменной длины в LazyVGrid
Я пытаюсь построить вертикальную сетку строк переменной длины, которые будут отображаться рядом друг с другом (например, набор тегов социальных сетей), следующим образом:
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?