我正在尝试构建具有可变长度的字符串的垂直网格,这些字符串可以并排显示(例如社交媒体标签的集合),如下所示:
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的垂直滚动视图中显示可变长度字符串的任何动态列表?