gpt4 book ai didi

swiftui - 如何检测 SwiftUI ColorPicker 的颜色何时更新?

转载 作者:行者123 更新时间:2023-12-04 01:13:26 26 4
gpt4 key购买 nike

我正在使用 SwiftUI,并希望在使用 ColorPicker 选择颜色后立即将其保存到 UserDefaults。执行此操作的最佳方法是什么?

struct CustomizeView: View {

@State private var color: Color = Color.green

var body: some View {
ColorPicker("Select a color!", selection: $color, supportsOpacity: false)
}.onAppear {
guard let defaults = UserDefaults(suiteName: "...") else { return }
color = Color(rgb: defaults.integer(forKey: "color"))
}
}

// where do I call the saveColors() function?

func saveColors() {
guard let defaults = UserDefaults(suiteName: "...") else { return }
defaults.set(color.rgb, forKey: "colorCancel")
defaults.synchronize()
}
}

(Color 的 rgb 初始值设定项是自定义的,不应该是相关的。)

最佳答案

你可以使用onChange修饰符,比如

ColorPicker("Select a color!", selection: $color, supportsOpacity: false)
.onChange(of: color) { _ in
saveColors()
}

关于swiftui - 如何检测 SwiftUI ColorPicker 的颜色何时更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64081706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com