导航链接仅在SwiftUI中起作用一次

时间:2019-12-19 18:51:43

标签: ios swift swiftui swiftui-navigationlink swiftui-bug

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

这个问题不仅发生在Apple的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"))
        }
    }
}

3 个答案:

答案 0 :(得分:3)

NavigationLink现在有2个主要错误。第一个是您提到的内容,您不能两次访问同一链接。如果您决定添加第二个链接以便至少测试您的UI,则会遇到第二个bug,即单击第二个链接时,在按下第二个链接后,它会弹出并回到根目录。

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

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

答案 1 :(得分:1)

似乎Xcode 11.4上的错误已修复

答案 2 :(得分:0)

它可以在模拟器上没有的设备上工作。