首页 > 解决方案 > 导航链接在 SwiftUI 中只能使用一次

问题描述

在名为BuildingListsAndNavigation的苹果 SwiftUI 代码教程中,他们向您展示了如何使用 NavigationLinks。但是,一旦您单击链接然后单击导航返回按钮,相同的链接将被禁用,直到您单击另一个链接,然后再次单击返回按钮。

这个问题不仅仅发生在苹果的 SwiftUI 教程中,它也发生在我自己的 SwiftUI 项目中。我如何做到这一点,以便我可以连续两次单击相同的链接?

这是一些示例代码

struct LandmarkList: View {
    var body: some View {
        NavigationView {
            List(0 ..< 5) { number in
                NavigationLink(destination: Text("next page")) {
                        Text("Row\(number)")
                }
            }
            .navigationBarTitle(Text("Landmarks"))
        }
    }
}

标签: iosswiftswiftui-navigationlinkswiftui

解决方案


NavigationLink 目前有 2 个主要错误。第一个是你提到的你不能两次访问同一个链接。如果您决定添加第二个链接,以便至少测试您的 UI,您会遇到第二个错误,即当您点击第二个链接时,然后在它推送它然后弹回根目录。

这是最新的 Xcode 版本 11.3 (11C29) 及其包含的 iOS 13.3 (17C45) 模拟器。

iPhone XR 上的 iOS 13.3 (17C45) 没有这些错误,这很奇怪,因为它与模拟器的内部版本号相同。


推荐阅读