なんとかするから、なんとかなる

エンジニア関係のことを書きます

TabViewでTabControlが更新されない

SwiftUIでTabViewでTabControlが更新されない

たぶん僕くらいだと思いますが、自戒を込めて。

現象

SwiftUIでTabViewを作成したのですが、ページスワイプしてもTabControlが更新されなくて困りました。

こんなコードを書いていました。

import SwiftUI

struct test: View {
    @State private var selection = 0

    var body: some View {
        TabView(selection: $selection) {
            Group {
                Text("First View")
                Text("Second View")
            }
        }
        .tabViewStyle(.page)
    }
}

解決方法

tagをつけましょう。

画面がスワイプできてしまうので、うまくいっていると思い込んでいました。

import SwiftUI

struct test: View {
    @State private var selection = 0

    var body: some View {
        TabView(selection: $selection) {
            Group {
                Text("First View").tag(0)
                Text("Second View").tag(1)
            }
        }
        .tabViewStyle(.page)
    }
}

きっと僕しかはまらない。