swiftui 写一个登陆界面
时间: 2024-05-15 15:14:56 浏览: 171
以下是一个简单的SwiftUI登陆界面示例。该界面包括一个用户名和密码文本字段、一个登陆按钮和一个注册按钮。
```swift
import SwiftUI
struct LoginView: View {
@State private var username = ""
@State private var password = ""
var body: some View {
VStack {
Spacer()
VStack(spacing: 16) {
TextField("用户名", text: $username)
.textFieldStyle(RoundedBorderTextFieldStyle())
SecureField("密码", text: $password)
.textFieldStyle(RoundedBorderTextFieldStyle())
Button(action: {
// 登陆按钮的点击事件
}) {
Text("登陆")
.foregroundColor(.white)
.font(.headline)
.padding()
.frame(maxWidth: .infinity)
.background(Color.blue)
.cornerRadius(8)
}
Button(action: {
// 注册按钮的点击事件
}) {
Text("注册")
.foregroundColor(.blue)
.font(.headline)
.padding()
.frame(maxWidth: .infinity)
.background(Color.white)
.cornerRadius(8)
.overlay(
RoundedRectangle(cornerRadius: 8)
.stroke(Color.blue, lineWidth: 1)
)
}
}
.padding(.horizontal, 32)
Spacer()
}
}
}
struct LoginView_Previews: PreviewProvider {
static var previews: some View {
LoginView()
}
}
```
在上面的代码中,我们使用了 `@State` 属性包装器来创建 `username` 和 `password` 变量,并将其绑定到 `TextField` 和 `SecureField` 中。当用户输入时,这些变量的值将自动更新。
我们还使用了 `VStack` 和 `Spacer` 来创建一个垂直居中的布局。在这个布局中,我们放置了一个包含用户名、密码、登陆和注册按钮的另一个 `VStack`。我们使用了 `TextField` 和 `SecureField` 来创建用户名和密码输入框,使用了 `Button` 来创建登陆和注册按钮。
注意,我们在 `Button` 中使用了 `.frame(maxWidth: .infinity)` 来使按钮充满其父视图的宽度。我们还使用了 `.background` 和 `.cornerRadius` 来设置按钮的颜色和圆角。
最后,我们在 `LoginView_Previews` 中创建了一个预览。在 Xcode 中,你可以使用此预览来查看你的登陆界面在不同设备和环境下的外观。
阅读全文