[SwiftUI]Toggle(トグル)の値の変更で処理をするには?

SwiftUI

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

Toggleボタンで値の変更を検知して、処理をする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Toggleの値の変更によって処理をするには、onChange修飾子を使います。

まず、ToggleビューにonChange修飾子を付与し、onChangeの引数「of」にToggleの値を指定します。

そして、onChangeのクロージャーに値を変更した際の処理を指定します。

onChangeのクロージャーは、引数で変更後の新しい値を受け取ります。

Toggle(・・・)
    .onChange(of: isOn) { newValue in
         //値の変更時の処理
    }

onChange修飾子を使うことで、Toggleの値の変更で処理をすることができます。

使用例

struct ContentView: View {
    
    @State var isOn = false
    
    var body: some View {
        VStack {
            Toggle("Switch", isOn: $isOn)
                .padding()
                .onChange(of: isOn) { newValue in
                    print(newValue)
                }
        }
    }
}

コメント

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