我有一个VStack3Text秒。每个都有不同长度的字符串。我希望VStack' 的宽度足够大以适合最宽的Text,但我也希望所有三个Texts 水平填充 VStack 。
默认情况下,使用以下代码:
VStack(spacing: 4.0) {
ForEach(1..<4) {
Text(Array<String>(repeating: "word", count: $0).joined(separator: " "))
.background(Color.gray)
}
}
我得到:
我想:
在 UIKit 中,我可以使用UIStackView属性alignment设置为.fill. VStack没有.fill对齐。我看到的建议解决方案是使用 for 修改堆栈视图的每个子项(即 each )Text的框架。.infinitymaxWidth
我发现的建议是用 s 修改Texts .frame(maxWidth: .infinity)。然而,这使得整体VStack扩展到(大概)它的最大尺寸:
有没有办法让它VStack自然地长到它最宽的孩子的大小,而不是更大,同时让它所有的孩子都一样宽?



