[SwiftUI]「ForEach」でNavigationLinkを使う方法[Xcode]

SwiftUI

どうも、ちょげ(@chogetarou)です。

ForEachでNavigationLinkを使う方法について解説します。

スポンサーリンク

ForEachとNavigationLink

NavigationView {
            
            VStack {
                ForEach(0..<5) { index in
                    NavigationLink(
                        destination: Text("\(index)"),
                        label: {
                            Text("遷移\(index)")
                                .foregroundColor(.blue)
                                .padding()
                        })
                }
            }
        }

ForEach内のビューをNavigation Linkで囲むことによって、繰り返し生成されたビューごとに遷移させることができます。

以下のようにNavigationLinkでForEach全体を囲んでしまうと、繰り返し生成されたビューがひとまとまりになります。

NavigationLink(destination: /*遷移先*/) {
                    ForEach(0..<5) { index in
                        Text("遷移\(index)")
                            .foregroundColor(.blue)
                            .padding()

                    }
                }

遷移先を分岐させたい場合は、予想外の結果になってしまいます。

どこをひとまとまりにするのかを、ForEachを使う際には気をつけましょう

ForEach関連の記事

コメント

タイトルとURLをコピーしました