当我点击一个按钮时,我会弹出一个按钮面板,该面板上有一个颜色的名称。当我点击该颜色时,下面的代码应该会将我的两个按钮更改为所选的颜色,但现在我选择了它,它会打印发件人.currentTitle的颜色,就像Optional("Red")
一样。
除了当我点击按钮时,按钮的颜色不会改变。事实上,当我点击"红色"时,我调用的下方红色区域中的打印函数不会打印,因此该函数不会被调用。
当我点击其中一种颜色时的代码:
@IBAction func button1ActualColorChosen(sender: AnyObject) {
var coliString1 = "(sender.currentTitle!)"
print("(coliString1)")
if coliString1 == "Black"{
Button1C.backgroundColor = UIColor.blackColor()
button1Bang.backgroundColor = UIColor.blackColor()
}
if coliString1 == "Red"{
print("red")
Button1C.backgroundColor = UIColor.redColor()
button1Bang.backgroundColor = UIColor.redColor()
}
if coliString1 == "Green"{
Button1C.backgroundColor = UIColor.greenColor()
button1Bang.backgroundColor = UIColor.greenColor()
}
if coliString1 == "Orange"{
Button1C.backgroundColor = UIColor.orangeColor()
button1Bang.backgroundColor = UIColor.orangeColor()
}
if coliString1 == "Blue"{
Button1C.backgroundColor = UIColor.blueColor()
button1Bang.backgroundColor = UIColor.blueColor()
}
if coliString1 == "Cyan"{
Button1C.backgroundColor = UIColor.cyanColor()
button1Bang.backgroundColor = UIColor.cyanColor()
}
if coliString1 == "Brown"{
Button1C.backgroundColor = UIColor.brownColor()
button1Bang.backgroundColor = UIColor.brownColor()
}
if coliString1 == "Gray"{
Button1C.backgroundColor = UIColor.grayColor()
button1Bang.backgroundColor = UIColor.grayColor()
}
if coliString1 == "Purple"{
Button1C.backgroundColor = UIColor.purpleColor()
button1Bang.backgroundColor = UIColor.purpleColor()
}
if coliString1 == "Magenta"{
Button1C.backgroundColor = UIColor.magentaColor()
button1Bang.backgroundColor = UIColor.magentaColor()
}
Button1C.alpha = 1
}
正如你所看到的,我把颜色分开,因为我知道如何不这样做。如何调用if coliString1 == "Red"{}"
等函数
行至少有一个问题
var coliString1 = "(sender.currentTitle!)"
自sender.currentTitle!返回一个不需要使用字符串插值将其分配给变量coliString1的字符串。此外,使用switch语句可以帮助清理一些问题。
@IBAction func button1ActualColorChosen(sender: AnyObject) {
let button = sender as! UIButton
let coliString1 = button.currentTitle
var newColor = UIColor()
if let cs1 = coliString {
switch cs1 {
case "Black":
newColor = UIColor.blackColor()
case "Red":
newColor = UIColor.redColor()
case "Green":
newColor = UIColor.greenColor()
case "Orange":
newColor = UIColor.orangeColor()
case "Blue":
newColor = UIColor.blueColor()
case "Cyan":
newColor = UIColor.cyanColor()
case "Brown":
newColor = UIColor.brownColor()
case "Gray":
newColor = UIColor.grayColor()
case "Purple":
newColor = UIColor.purpleColor()
case "Magenta":
newColor = UIColor.magentaColor()
default:
newColor = UIColor.clearColor()
}
}
Button1C.backgroundColor = newColor
button1Bang.backgroundColor = newColor
Button1C.alpha = 1
}