朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
SwiftUI Sliderの値を変更した時にリアルタイムで取得する





SwiftUIのSliderはそのままではつまみをスライドさせている間の値がわかりません。
下記のサンプルプログラムのようにすると、Sliderのつまみをスライドさせるとリアルタイムで値が変わるのがわかります。



MainView.swift

import SwiftUI

struct MainView: View {
    @State private var rValue: Double = 0
    @State private var rText: String = "0"
    var body: some View {
        VStack {
            HStack {
                Text("Red:")
                    .foregroundColor(.red)
                Slider(value: Binding(
                        get: {
                            self.rValue
                        },
                        set: { newValue in
                            self.rValue = newValue
                            self.rText = String("\(Int(self.rValue))")
                            
                        }
                ), in: 0...255, step: 1, onEditingChanged: {_ in })
                TextField("", text: $rText, onEditingChanged: { _ in
                    rValue = Double(rText) ?? 0
                })
            }
            
        }
    }
}


struct MainView_Previews: PreviewProvider {
    static var previews: some View {
        MainView()
    }
}

    








良いやや良い普通やや悪い悪い

投稿日時評価コメント