【发布时间】:2022-01-16 04:19:11
【问题描述】:
下面的代码在按钮部分给了我警告,如果我运行视图将不会打开。
如果我尝试使用 NavigationLink,最后会出现一个箭头,我不想以任何方式使用导航。
我尝试了将按钮视图放入 NavigationLink 链接,但是当我点击它时,整个表单具有点击事件效果,就像 ram 点击整个表单一样。
import SwiftUI
//login view
struct login: View {
@State private var usern:String=""
@State var navigated = false
@State private var pass:String=""
@State private var secured:Bool=true
var body: some View {
NavigationView{
//textfield and password field
Form{
VStack{
HStack{
Text("UserName:")
TextField("", text: $usern)
}
HStack{
Text("Password:")
if secured{
SecureField("",text:$pass)
}
else{
TextField("",text: $pass)
}
Button(action: {self.secured.toggle()}){
//password seen or unseen
if secured{
Image(systemName:"eye.slash")
}
else{
Image(systemName:"eye")
}
}.buttonStyle(BorderlessButtonStyle())
}
Button("Login",action: {signup()}).buttonStyle(BorderlessButtonStyle())
//button view not working
Button("Not Yet signed? Create new account",action: {signup()}).buttonStyle(BorderlessButtonStyle())
//button view not working
}
}
}
}
}
struct login_Previews: PreviewProvider {
static var previews: some View {
login()
}
}
//SIGNUP VIEW
import SwiftUI
struct signup: View {
var body: some View {
Text("Hello, World!")
}
}
struct signup_Previews: PreviewProvider {
static var previews: some View {
signup()
}
}
【问题讨论】:
-
警告说什么?
-
欢迎来到 Stack Overflow!请拨打tour 并查看:How do I ask a good question?。您实际上还没有说过要如何显示您的注册屏幕。您希望它在工作表中还是在新视图中?此外,警告是因为您不能只将
View放入Button的操作部分。