这是在switft代码中。我想将当前为红色的按钮的背景颜色更改为蓝色。但是它再次点击,我希望它从蓝色变为红色。我通常会怎么做。
var counter = 0
var button = UIButton()
func switch(){
if counter % 2 == 0 {
button.backgroundcolor = .blue
}
else {
button.backgroundcolor = .red }
counter += 1}
我写这个问题是因为虽然我正在做的事情是有效的。我认为必须有一种更有效的方法来编写代码,而不是声明 var 并潜水。
因为只有两个状态将counter
声明为 Bool
var backgroundColorIsBlue = false
在switch
函数中 - 由于switch
是保留字而无法编译 - 只需切换(反转(布尔值并设置背景颜色。如果true
则三元运算符使用?
之后的值backgroundColorIsBlue
否则使用:
之后的值。
@objc func switchAction(_ sender : UIButton) {
backgroundColorIsBlue.toggle()
sender.backgroundColor = backgroundColorIsBlue ? .blue : .red
}