使用SwiftUI调整宽度/水平对齐

Kel*_*Lau 1 swift swiftui

我在以下方面实现了以下布局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)