繁体   English   中英

如何保存UIColor以便每次在应用程序中使用它? [重复]

[英]How to save UIColor to use it every time in app? [duplicate]

我创建了具有不同颜色选择的收集视图作为收集单元。 现在,当用户选择一个特定的单元格时,该单元格中的cohoe必须保存以在其他地方使用。

我尝试使用

Userdefaults.standard.set(UIColor, forket:"Default_Color")

但是Userdefaults不会保存UIColor。

您应该在Userdefaults中将字符串另存为UIColoe的HexString。

为此,您应该使用此库, https://github.com/viccalexander/Chameleon

通过使用此库,您可以将hexString作为UIColor的字符串获取,并将其存储在Userdefaults中。

而且,当您想从Userdefaults中使用该颜色时,可以从Userdefaults中获取hexString作为String并使用此库在UIColor中进行转换。

您可以尝试使用此示例。 或者,您可以将字符串另存为UIColor的十六进制。

    let colArr = [
        "Default_Color": ["red": 255.0, "green": 0, "blue": 0, "alpha": 1.0]
    ]

    UserDefaults.standard.set(colArr, forKey: "colArr")


    let colArr_new = UserDefaults.standard.value(forKey: "colArr") as! [String: Any]
    let Default_Color = colArr_new["Default_Color"] as! [String: Any]


    let red = Default_Color["red"] as! CGFloat
    let green = Default_Color["green"] as! CGFloat
    let blue = Default_Color["blue"] as! CGFloat
    let alpha = Default_Color["alpha"] as! CGFloat

    let color = UIColor(red: red/255.0, green: green/255.0, blue: blue/255.0, alpha: alpha)

    print("\(red) \(green) \(blue) \(alpha) >>>\(color)")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM