【发布时间】:2021-10-15 19:59:24
【问题描述】:
我是 swiftUI 的新手,正在做一个登录申请表。有电子邮件 ID 和密码文本字段以及一个登录按钮。单击登录按钮后,它应该移至下一个视图。请注意,我不想使用导航链接和导航视图进行导航。我尝试了以下代码。但是下一个视图会在当前视图本身中加载,就像在第二张图片中一样
struct Login: View {
@State private var success = false
TextField("Email ID", text: $emailId , onEditingChanged: { (isChanged) in
if !isChanged {
if self.textFieldValidatorEmail(self.emailId) {
self.isEmailValid = true
} else {
self.isEmailValid = false
self.emailId = ""
}
}
})
TextField("Password", text: $password)
.modifier(customViewModifier(roundedCornes: 6, textColor: .black))
.frame(height: 100)
.padding(\[.leading, .trailing\], 100)
Button(action: {
btnLoginClicked()
}, label: {
Text("Sign In")
.frame(width: 200, height: 30)
.padding()
.background(Color.red)
.foregroundColor(Color.white)
.font(.custom("Open Sans", size: 28))
})
if(success)
{
SelectLocation()
}
}
func btnLoginClicked()
{
success = true
}
}
SelectLocation.swift 是另一个 swiftUI 文件,我需要在其中显示其他详细信息
第二张图是 Login.swift 文件和 SelectLocation.swift 文件的组合。
请让我纠正我哪里错了
【问题讨论】:
-
如果不使用 NavigationLink,您想如何导航?你只是想避开导航栏吗?
-
@George 我想使用 Navigation bar ,但我的应用程序是专门为 iPad 设计的,如果我使用 NavigationView 我会得到默认的拆分视图导航栏。我的应用程序设计有一个常规导航栏,我们曾经在 Obj-C 应用程序中拥有它。我希望在 swiftUI 应用程序中具有相同的外观。所以我不去 NavigationLink