Swift Xcode如何在每次点击屏幕时切换形状的颜色

时间:2016-06-21 18:10:25

标签: ios xcode swift

我认为这样的事情会起作用,但觉得我的功能是不合适的。它编译但没有做任何事情,我甚至不确定它是否能像这样工作。我很快乐,很感激任何帮助。

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    /* Called when a touch begins */

    for touch in touches {
        _ = touch.locationInNode(self)

        colorSwitch()
               }
}

func colorSwitch(){

    if (ShapeY.color == UIColor.whiteColor()) {
        ShapeY.color = UIColor.blackColor()
    }
    else if (ShapeY.color == UIColor.blackColor()) {
        ShapeY.color = UIColor.whiteColor()
    }
}

1 个答案:

答案 0 :(得分:-1)

使用==运算符无法比较颜色,因此两个if语句的计算结果均为false。尝试将==更改为:

ShapeY.color.isEqual(UIColor.whiteColor())

您可能必须使用!打开可选项:

ShapeY.color!.isEqual(UIColor.whiteColor())