一尘不染

如何快速比较颜色

swift

我想更改按钮状态为不同的状态。我这样尝试:

 @IBAction func addToShedulerAction(sender: UIButton) {   
       println(sender.backgroundColor)     
        if sender.backgroundColor==UIColor.redColor(){
            sender.backgroundColor==UIColor.whiteColor()
        }
        else //if sender.backgroundColor==UIColor.whiteColor()
        {
            sender.backgroundColor=UIColor.redColor()
        }
    }

但是在第一个按钮println中,打印nil且背景变为红色;在第二个按钮println中,打印“
Optional(UIDeviceRGBColorSpace 1 0 0 1)”,并且颜色不变


阅读 256

收藏
2020-07-07

共1个答案

一尘不染

您不使用==运算符比较颜色。您可以这样操作,并且需要!打开可选的颜色:

if sender.backgroundColor!.isEqual(UIColor.redColor()) {
            
}

另外,请删除=分配声明中的无关内容。它应该是:

sender.backgroundColor = UIColor.whiteColor()
2020-07-07