gpt4 book ai didi

ios - 适用于 iOS 14.5 的 SwiftUI NavigationLink 无法正常工作

转载 作者:行者123 更新时间:2023-12-05 00:22:26 26 4
gpt4 key购买 nike

我在 Xcode 12.4 中有以下代码完美运行

ScrollView(.horizontal, showsIndicators: false) {

LazyHGrid(rows: rows, spacing: 0) {

HStack {

if (type == "Quiz") {

NavigationLink(destination: Quiz(id: quiz.id)) {

VStack(alignment: .leading) {

Text("Quiz")
.font(.headline)
.foregroundColor(.white)
.padding(.top, 8)
.padding(.leading)

}
.background(Color.green)
.cornerRadius(12)
.shadow(color: .green, radius: 3, x: 0.0, y: 0.0)

}

} else {

NavigationLink(destination: Survey(id: survey.id)) {

VStack(alignment: .leading) {

Text("Survey")
.font(.headline)
.foregroundColor(.white)
.padding(.top, 8)
.padding(.leading)

}
.background(Color.green)
.cornerRadius(12)
.shadow(color: .green, radius: 3, x: 0.0, y: 0.0)

}

} // End If

if (type == "Quiz") {

NavigationLink(destination: QuizResults(id: quiz.id)) {

VStack(alignment: .leading) {

Text("Quiz Results")
.font(.headline)
.foregroundColor(.white)
.padding(.top, 8)
.padding(.leading)

}
.background(Color.blue)
.cornerRadius(12)
.shadow(color: .blue, radius: 3, x: 0.0, y: 0.0)

}

} else {

NavigationLink(destination: SurveyResults(id: survey.id)) {

VStack(alignment: .leading) {

Text("Survey Results")
.font(.headline)
.foregroundColor(.white)
.padding(.top, 8)
.padding(.leading)

}
.background(Color.blue)
.cornerRadius(12)
.shadow(color: .blue, radius: 3, x: 0.0, y: 0.0)

}

}

}
.padding([.leading, .trailing], 25)

}
.frame(height: 100)
我刚刚将 Xcode 更新到 12.5,以上不再起作用。
它在 12.4 中运行良好!?
现在,当我单击“测验”元素时,它开始转换到显示它但立即关闭 View 的测验 View ,我又回到了详细信息 View !?
有人可以看到我做错了什么,为什么现在基于 12.5 的更新停止工作?
更新
我将代码细化为最小可能的可重现形式。似乎正在发生的事情是我有两个或更多 NavigationLink s 集。
第一个是将用户导航到测验或调查的集合,if 语句将用户引导到要填写的正确 View 。
12.5 中的问题是,用户可以单击以查看测验或调查的总体结果的第二组在第一次导航之后直接不起作用。
就像我之前所说的那样,它在 12.4 中完美运行,但似乎 12.5 不同意它。有人可以为用户提供更好的方法来单击元素以填写测验或调查或查看测验或调查的结果吗?

最佳答案

我遇到了完全相同的问题,Xcode 12.4 一切正常。
https://developer.apple.com/forums/thread/677333
我尝试关注这个线程,它可能会起作用,但在某些情况下,我仍然有这个错误。

       NavigationLink(destination: EmptyView()) {
EmptyView()
}

显然,您可以将这 3 行代码放在 NavigationLink 附近...
如果有人得到更好的答案,我将不胜感激!

关于ios - 适用于 iOS 14.5 的 SwiftUI NavigationLink 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67276205/

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