ios - Swift 4 从应用程序中咨询的背景颜色保存
问题描述
我希望你成为应用程序中选定的背景颜色。
我做到了...背景颜色已更改,但未保存。
@IBAction func ButtonColor(_ sender: UIButton) {
let colorTag = sender.tag
if (colorTag == 1){
self.view.backgroundColor = #colorLiteral(red: 0.8156862745, green: 0.9725490196, blue: 0.9215686275, alpha: 1)
print ("colorTag 1")
}else if (colorTag == 2){
self.view.backgroundColor = #colorLiteral(red: 0.8156862745, green: 0.8, blue: 0.9215686275, alpha: 1)
print ("colorTag 2")
}else if (colorTag == 3){
self.view.backgroundColor = #colorLiteral(red: 0.3254901961, green: 0.9019607843, blue: 0.9803921569, alpha: 1)
print ("colorTag 3")
}else if (colorTag == 4){
self.view.backgroundColor = #colorLiteral(red: 0.9999960065, green: 1, blue: 1, alpha: 1)
print ("colorTag 4")
} else if (colorTag == 0){
self.view.backgroundColor = #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
}
}
现在我已经不知道了。我要做的是保存所选颜色。
解决方案
首先创建任何颜色数组
let arr = [#colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0),
#colorLiteral(red: 0.8156862745, green: 0.9725490196, blue: 0.9215686275, alpha: 1),
#colorLiteral(red: 0.8156862745, green: 0.8, blue: 0.9215686275, alpha: 1),
#colorLiteral(red: 0.3254901961, green: 0.9019607843, blue: 0.9803921569 alpha: 1),
#colorLiteral(red: 0.9999960065, green: 1, blue: 1, alpha: 1)]
@IBAction func ButtonColor(_ sender: UIButton) {
self.view.backgroundColor = arr[sender.tag]
UserDefaults.standard.set(arr[sender.tag], forKey: "SavedColor")
}
当你在里面再次打开应用程序时viewDidLoad
self.view.backgroundColor = UserDefaults.standard.color(forKey: "SavedColor") ?? UIColor.red