当我尝试创建一个简单的登录/注册页面并单击文本字段时,它首先滞后并显示“无法找到或解码 rasons”。然后它超时并说无法同时满足约束。 我没有添加任何应该真正干扰约束的东西(甚至做了一个新项目来确保)。
这是我尝试过的基本实现代码:
ContentView.swift
import SwiftUI
struct ContentView: View {
@State private var email: String = ""
@State private var password: String = ""
var body: some View {
NavigationStack {
VStack {
TextField("Email", text: $email)
.frame(width: 300, height: 50)
.background(Color(.systemGray6))
.cornerRadius(10)
SecureField("Password", text: $password)
.frame(width: 300, height: 50)
.background(Color(.systemGray6))
.cornerRadius(10)
}
}
}
}
#Preview {
ContentView()
}
第 1 步:一个 SwiftUI 项目包含且只有一个入口点。因此,搜索应用程序 swift 文件,它应该类似于下面给出的代码集,搜索“@main”、struct [AppName]App: App 等关键字来查找文件。
import SwiftUI
@main
struct [ProjectName]App: App {
var body: some Scene {
WindowGroup {
NavigationStack {
ContentView()
}
}
}
}
第 2 步:- 我从 ContentView() 中删除了导航堆栈并将其放置在顶部层次结构中。
import SwiftUI
struct ContentView: View {
@State private var email: String = ""
@State private var password: String = ""
var body: some View {
VStack {
TextField("Email", text: $email)
.frame(width: 300, height: 50)
.background(Color(.systemGray6))
.cornerRadius(10)
SecureField("Password", text: $password)
.frame(width: 300, height: 50)
.background(Color(.systemGray6))
.cornerRadius(10)
}
}
}
#Preview {
ContentView()
}
试试这个应该可以。