如何解决如果堆栈大小 > 1,则 SwiftUI3 导航链接在弹出后不起作用
SwiftUI 3
如果堆栈大小 > 1,则弹出后导航链接不起作用
重现步骤:
- 启动应用
- 点按列表 #1 中的任意行
- 点按列表 #2 中的任意行
- 点按
Back
- 点按列表 #2 中的任意行
结果:什么都没有发生,导航链接不起作用 预期结果:我应该再次看到视图控制器 #3。
不过在 SwiftUI 2
中运行良好。
有人能够在 Swift UI 3 中使嵌套的 NavigationLinks
工作吗?我已向 Apple 提交错误报告。
import SwiftUI
@main
struct NavigationTestApp: App {
var body: some Scene {
WindowGroup {
FirstView()
}
}
}
struct FirstView: View {
var body: some View {
NavigationView {
List {
ForEach(0..<10) { i in
NavigationLink(destination: SecondView()) {
Text("Row \(i)")
.padding()
}
}
}
.navigationTitle(Text("1"))
}
}
}
struct SecondView: View {
var body: some View {
List {
ForEach(0..<10) { i in
NavigationLink(destination: ThirdView()) {
Text("Child \(i)")
.padding()
}
}
}
.navigationTitle(Text("2"))
}
}
struct ThirdView: View {
var body: some View {
vstack {
Text("?")
}
.navigationTitle(Text("3"))
}
}
解决方法
正如@loremipsum 所说,这是一个已知问题
https://github.com/bregydoc/bcidatasetIV2a
SwiftUI 已知问题 从导航堆栈中的第三个屏幕弹出后,您无法推送到第三个屏幕。 (79076444)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。