Swift TabViewの引数「selection」を利用するサンプル
環境
Swift version 5.2.3 (swift-5.2.3-RELEASE)
概要
変数を用意します。
@State var selected = value
@State var selected = value
@State var selected = value
TabViewの引数「selection」に用意した変数をバインドします。
TabView(selection: $selected) { 処理コード]
TabView(selection: $selected) { 処理コード]
TabView(selection: $selected) { 処理コード]
TabView内のタブにtag修飾子を付与し、tag修飾子内に値を指定します。
TabView(selection: $selected) {
FirstTab()
.tag(value1) //tagを付与
SecondTab()
.tag(value2)
処理コード
}
TabView(selection: $selected) {
FirstTab()
.tag(value1) //tagを付与
SecondTab()
.tag(value2)
処理コード
}
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")
}
}
}
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")
}
}
}
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") } } }