【发布时间】:2021-03-18 17:31:43
【问题描述】:
我有一个 HStack 来布置一个 TextField 和一个 Button 并排在一起。我将它嵌入到VStack 中以显示下面的一行。我注意到这种情况下的垂直间距与标准的VStack 布局不同。请参阅以下屏幕截图中的详细信息。有人可以帮我理解这种行为以及我应该如何解决它?
编辑:下面的代码
import SwiftUI
struct ContentView: View {
@State private var username: String = ""
@State private var password: String = ""
var body: some View {
VStack(spacing: 8) {
VStack {
TextField("Username", text: $username)
.background(Color.red.opacity(0.5))
Rectangle()
.fill(Color.blue)
.frame(height: 1)
}
.background(Color.blue.opacity(0.5))
VStack {
HStack {
SecureField("Password", text: $password)
.background(Color.blue.opacity(0.5))
Button(action: { }, label: { Image(systemName: "eye") })
}
.background(Color.red.opacity(0.5))
Rectangle()
.fill(Color.blue)
.frame(height: 1)
}
}
.padding()
}
}
【问题讨论】: