如何使 SwiftUI LazyGrid 行根据内容独立设置高度

How to make SwiftUI LazyGrid rows set heights according to contents, independently

我有一组文本项,其中包含不同数量的文本。 我想将它们显示为行号行和文本行,分别在数字和 txt 周围加上框。问题是我希望数字周围的框与文本周围的框高度相同。

我发现 几乎 做到了,除了每行的高度相同,即大小为最大的可见行。我希望每一行的大小根据它自己的文本大小,即每一行可能有不同的高度。

我尝试将惰性网格更改为 VStack(不太可能超过 40 行)以便调整大小不限于可见行,但是我无法获得高度 或者宽合作

有办法吗?

正如@Yrb 所建议的解决方案(在我看来是最简单的)是修改我链接的答案,方法是为行创建一个结构,然后移动高度计算扩展以扩展 that 结构而不是整个视图。

这漂亮地计算了每一行的高度,独立于其他行。