我在以下方面实现了以下布局SwiftUI:
VStack {
TextField(...)
TextField(...)
Button(...)
}
Run Code Online (Sandbox Code Playgroud)
我尝试使VStack占Superview的50%,因此添加了以下修饰符:
VStack { ... }
.relativeWidth(0.5)
Run Code Online (Sandbox Code Playgroud)
并不是50%的超级视图,但是我对实现水平居中更加感兴趣。有人知道如何在SwiftUI中实现吗?
有一个alignmentGuide(_:computeValue:)可用的修饰符,但我一直在努力提供正确的输入来满足编译器的要求。
小智 5
我会用一些垫片和HStack ...
struct LoginView: View {
@State var myText: String = ""
var body: some View {
HStack {
Spacer()
VStack {
TextField($myText, placeholder: Text("Email"))
.textFieldStyle(.roundedBorder)
.textContentType(.username)
TextField($myText, placeholder: Text("Password"))
.textFieldStyle(.roundedBorder)
.textContentType(.password)
Button(action: {
// Do your login thing here
}) {
Text("Login")
}
}
Spacer()
}
}
}
Run Code Online (Sandbox Code Playgroud)