方法

スライダービューの操作中に処理を追加することが出来ます。
やり方は、Sliderビューに、onEditingChangedという引数を追加し、クロージャーで処理を追加します、
onEditingChangedは、「(Bool) -> Void」というクロージャーが型で、デフォルトでは何もしないことになっています。
@State var number : Double = 0
@State var changing = false
var body: some View {
VStack {
Slider(value: $number, in: 0...10, step: 1, onEditingChanged: { change in
//処理
self.changing = change
})
.padding()
Text(changing ? "変更中" : "停止中")
}
}
変更中には、クロージャーの引数にtrueが渡されます。
上記の例では、編集中には変数にtrueが渡され、Textの文字が変更中になるようにしています。
まとめ
onEditingChanged引数を使うことで、Sliderビューに操作中の処理を追加することが出来ます。
コメント