我想在@AppStorage中保存一个Color值,但是我得到了一个错误。我怎么才能修好它?
@AppStorage ("selectedColor") var selectedColor: Color = .teal

发布于 2022-09-19 09:33:51
将颜色保存为字符串
@AppStorage ("selectedColor") var selectedColor: String = ""创建一个将颜色转换为字符串的函数。
func updateCardColorInAppStorage(color: Color)-> String {
let uiColor = UIColor(color)
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
uiColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
return "\(red),\(green),\(blue),\(alpha)"
}和字符串到颜色
if (cardColor != "" ) {
let rgbArray = cardColor.components(separatedBy: ",")
if let red = Double (rgbArray[0]), let green = Double (rgbArray[1]), let blue = Double(rgbArray[2]), let alpha = Double (rgbArray[3]){ bgColor = Color(.sRGB, red: red, green: green, blue: blue, opacity: alpha)
}https://stackoverflow.com/questions/73737194
复制相似问题