如果堆栈大小> 1,则弹出后 SwiftUI3 导航链接不起作用
Posted
技术标签:
【中文标题】如果堆栈大小> 1,则弹出后 SwiftUI3 导航链接不起作用【英文标题】:SwiftUI3 navigation link doesn't work after pop if stack size > 1 【发布时间】:2021-06-26 17:41:40 【问题描述】:SwiftUI 3
如果堆栈大小 > 1,则弹出后导航链接不起作用
重现步骤:
-
启动应用程序
点击列表 #1 中的任意行
点击列表 #2 中的任意行
点击
Back
点击列表 #2 中的任意行
结果:没有任何反应,导航链接不起作用 预期结果:我应该再次看到视图控制器 #3。
虽然在 SwiftUI 2
中工作正常。
是否有人能够让嵌套的NavigationLinks
在 Swift UI 3 中工作?我已向 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"))
【问题讨论】:
这是一个已知问题,请参阅 SwiftUI developer.apple.com/documentation/ios-ipados-release-notes/…下的发行说明@ @loremipsum 谢谢 【参考方案1】:正如@loremipsum 所说,这是一个已知问题
https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-15-beta-release-notes
SwiftUI 已知问题 从导航堆栈中的第三个屏幕弹出后,您无法推送到第三个屏幕。 (79076444)
【讨论】:
以上是关于如果堆栈大小> 1,则弹出后 SwiftUI3 导航链接不起作用的主要内容,如果未能解决你的问题,请参考以下文章