BuildingListsAndNavigation と呼ばれるリンゴのSwiftUIコードチュートリアルでは、NavigationLinksの使用方法が示されています。ただし、リンクをクリックしてからナビゲーションの戻るボタンを押すと、別のリンクを押すまで同じリンクが無効になり、もう一度戻るボタンを押します。
この問題はAppleのSwiftUIチュートリアルだけで発生するのではなく、私自身のSwiftUIプロジェクトでも発生します。同じリンクを2回続けてクリックできるようにするにはどうすればよいですか?
ここにいくつかのサンプルコードがあります
struct LandmarkList: View {
var body: some View {
NavigationView {
List(0 ..< 5) { number in
NavigationLink(destination: Text("next page")) {
Text("Row\(number)")
}
}
.navigationBarTitle(Text("Landmarks"))
}
}
}
シミュレータではなくデバイスで動作します。
現在、NavigationLinkには2つの主要なバグがあります。 1つ目は、同じリンクに2度アクセスできないことについてあなたが言及したものです。 UIを少なくともテストするために2番目のリンクを追加することにした場合、2番目のリンクをタップすると、2番目のバグが発生します。
これは、最新のXcodeバージョン11.3(11C29)とそれに含まれるiOS 13.3(17C45)シミュレーターに対応しています。
iPhone XRのiOS 13.3(17C45)にはこれらのバグはありません。シミュレータと同じビルド番号であるため、これは非常に奇妙です。
Xcode 11.4でバグが修正されたようです