我有一个带三个孩子的 VStack。这些孩子中的每一个都有一个 HStack,左边有一些文本和一个空白区域。这是预览的屏幕截图,其中 VStack 子项周围带有突出显示的边框,每个 HStack 周围都有突出显示的边框。
如何将每个 VStack 子项设置为缩小到 HStack 的高度并摆脱底部的空白空间?现在这个问题似乎是由默认情况下 VStack 填充整个屏幕并将每个孩子设置为相等的高度引起的。
当前代码:
import Foundation
import SwiftUI
struct NameAndConnection: View {
var body: some View {
VStack(alignment: .leading) {
Text(data.name)
.font(.headline)
.fontWeight(.semibold)
.foregroundColor(Color.black)
.frame(alignment: .leading)
Text(data.connection)
.font(.callout)
.fontWeight(.medium)
.foregroundColor(Color.gray)
.frame(alignment: .leading)
}
}
}
struct Description: View {
var body: some View {
Text(data.description)
}
}
struct Post: View {
var body: some View {
GeometryReader { geo in
HStack(alignment: .top, spacing: 0) {
Spacer()
VStack(alignment: .leading) {
NameAndConnection()
Description()
.padding(.top, 1.0)
}
.frame(width: geo.size.width * 0.75)
}
}
}
}
struct PostView: View {
var body: some View {
GeometryReader { geo in
VStack() {
Post()
Post()
Post()
}
}
}
}