我在 MySQL 数据库中为每个用户有一列名为“主题”的列。我想知道如何根据该变量更改颜色。这是我尝试过的代码,但它不起作用。
// First function
override func viewDidLoad() {
super.viewDidLoad()
let theme = (user!["theme"] as! String?) ?? "" // dark
if theme == "dark" {
let color1 = UIColor(red: 93/255, green: 75/255, blue: 81/255, alpha: 1)
let color2 = UIColor(red: 255/255, green: 251/255, blue: 246/255, alpha: 1)
// Set colors
fullName.textColor = color2
}
最佳答案
您在 if 语句内定义颜色变量,因此它们的范围仅限于该 if 语句,您无法在 if 语句的大括号之外访问它。
override func viewDidLoad() {
super.viewDidLoad()
let theme = (user!["theme"] as! String?) ?? "" // dark
let color1 : UIColor?
let color2 : UIColor?
if theme == "dark" {
color1 = UIColor(red: 93/255, green: 75/255, blue: 81/255, alpha: 1)
color2 = UIColor(red: 255/255, green: 251/255, blue: 246/255, alpha: 1)
}
// Set colors
fullName.textColor = color2
您可以通过在 if 语句外部定义变量来使用它。 希望对您有帮助!
关于mysql - Swift 3 如何动态改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43971742/