gpt4 book ai didi

ios - NavigationLink 与 SwiftUI : Type of expression is ambiguous without more context

转载 作者:行者123 更新时间:2023-11-28 07:18:40 24 4
gpt4 key购买 nike

我正在尝试使用我制作的按钮导航到另一个 View 。我为另一个 View 完成了它,但是当将它应用到下一个 View 时,它显示错误“表达式类型不明确,没有更多上下文。”我从其他人那里了解到,SwiftUI 中的错误有时不会出现在正确的行上,而可能发生在其他地方。

这是我编写的用于 NavigationLink 的代码

struct ContentView: View {
@State private var isActive: Bool = false
@State private var username: String = ""
@State private var email: String = ""
@State private var password: String = ""

var body: some View {

NavigationView{
VStack {
NavigationLink(destination: signUp(), isActive: self.$isActive) {
Text("")
}

Image("versLogo")
.resizable()
.frame(width: 400, height: 400)
TextField("Username", text: $username)
TextField("Email", text: $email)
TextField("Password", text: $password)


Button(action: {}) {
Text("Login")
}
Spacer()
//button for moving to next view
Button(action: {
self.isActive = true
}) {
Text("Don't have an account?")
}

}//VStack
}//nav
}
}

现在这是我编写的代码,以相同的方式应用它,但给我这个错误。 NavigationLink 中的文本没有任何内容,因为我正在使用按钮,所以我将其留空。

struct signUp: View {
@State var isShowingImagePicker = false
//for the next view
@State private var isActive: Bool = false

@State private var username: String = ""
@State private var email: String = ""
@State private var password: String = ""
@State private var confirm: String = ""


var body: some View {
NavigationLink{
VStack {
NavigationLink(destination: DOB_finalSignUp(), isActive: self.$isActive) {
Text("") //ERROR is on this line
}

Image(uiImage: UIImage())
.frame(width: 200, height: 200)
.border(Color.black, width: 1)

Button(action: {
self.isShowingImagePicker.toggle()
}, label: {
Text("Select Image")
})


TextField("Username", text: $username)
TextField("Email", text: $email)
TextField("Password", text: $password)
TextField("Confirm Password", text: $confirm)

//button for moving to next view
Button(action: {
self.isActive = true
}) {
Text("Continue")
}
}//VStack
}//nav
}
}

最佳答案

您在 struct signUpvar body 的第一行中使用了 NavigationLink 而不是 NavigationView

所以这样:

var body: some View {
NavigationLink{
,,,
}//nav
}

应该是:

var body: some View {
NavigationView{
,,,
}//nav
}

NavigationLink 就像一个导航触发器,而 NavigationView 负责处理视觉效果、动画和其他有关导航的内容。

请注意,由于 SwiftUI 还很年轻,Xcode 无法准确检测出问题所在,有时会显示错误或不清楚的消息。但 Apple 一直在努力,并逐个版本地改进它。

关于ios - NavigationLink 与 SwiftUI : Type of expression is ambiguous without more context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58825323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com