Swift TabViewの引数「selection」を利用するサンプル

環境
Swift version 5.2.3 (swift-5.2.3-RELEASE)

概要
変数を用意します。

@State var selected = value

TabViewの引数「selection」に用意した変数をバインドします。

TabView(selection: $selected) { 処理コード]

TabView内のタブにtag修飾子を付与し、tag修飾子内に値を指定します。

TabView(selection: $selected) {
  FirstTab()
    .tag(value1) //tagを付与
  SecondTab()
    .tag(value2)
  処理コード
}

サンプルコード

struct ContentView: View {
    @State var selected = "First"
    var body: some View {
        TabView(selection: $selected) {
            Text("The First Tab")
                .onTapGesture {
                    self.selected = "Second"
                }
                .tabItem {
                    Image(systemName: "1444.square.fill")
                    Text("First")
                }
                .tag("First")
            Text("The Second Tab")
                .onTapGesture {
                    self.selected = "Third"
                }
                .tabItem {
                    Image(systemName: "233.square.fill")
                    Text("Second")
                }
                .tag("Second")
            Text("The Third Tab")
                .onTapGesture {
                    self.selected = "First"
                }
                .tabItem {
                    Image(systemName: "3444.square.fill")
                    Text("Third")
                }
                .tag("Third")
        }
    }
}

 

Swift

Posted by arkgame