【问题标题】:SwiftUI3 navigation link doesn't work after pop if stack size > 1如果堆栈大小> 1,则弹出后 SwiftUI3 导航链接不起作用
【发布时间】:2021-06-26 17:41:40
【问题描述】:

SwiftUI 3 如果堆栈大小 > 1,则弹出后导航链接不起作用

重现步骤:

  1. 启动应用程序
  2. 点击列表 #1 中的任意行
  3. 点击列表 #2 中的任意行
  4. 点击Back
  5. 点击列表 #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"))
    }
}

【问题讨论】:

标签: ios swift swiftui swiftui-list swiftui-navigationview


【解决方案1】:

正如@loremipsum 所说,这是一个已知问题

https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-15-beta-release-notes

SwiftUI 已知问题 从导航堆栈中的第三个屏幕弹出后,您无法推送到第三个屏幕。 (79076444)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-12
    • 2011-08-15
    • 2020-07-02
    • 2013-01-03
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多