3

我正在尝试构建一个垂直的字符串网格,这些字符串具有可变长度以彼此并排显示(例如社交媒体标签的集合),如下所示:

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 的垂直滚动视图中显示任何可变长度字符串的动态列表?

4

0 回答 0