tukuyo's blog

へっぽこまん

スポンサーリンク

SwiftUIで複数の遷移先を配列に格納して遷移する方法

複数の遷移を配列に格納する

let destinations: [AnyView] = [
                              AnyView(FirstView()),
                              AnyView(SecondView()),
                              AnyView(ThirdView()) ]

遷移する

var body: some View {
    ScrollView(.horizontal, showsIndicators: false) {
        HStack {
             ForEach(destinations.indices) { index in
                NavigationLink( destination: destinations[index]) {
                     Circle()
                         .foregroundColor(.blue)
                         .frame(width: 100, height: 100, alignment: .center)
                }
            }
        }
    }
}

おわりに

いつ使うかわかりませんが、 自分自身、複数のメニューをHStackでカードビューを並べて作りたいときに、どのようにしてNavigationLinkを使うのか悩んだときにこれで解決しました。

他にもっといい方法がありそう。

スポンサーリンク