重复按钮的行为方式不同

时间:2015-09-25 14:40:25

标签: swift watchkit apple-watch

我正在Swift中编写一个Watch应用程序。我有一个盒子网格,我没有足够的声誉来发布图像。每一行都有一个小组。该组具有背景颜色。每个方框都是一个按钮。行中的第一个框没有图像或颜色,只显示组的背景颜色,按下时,它会重置行上的其他框,使用与最初开始时相同的背景图像和颜色。一行中的其他3个按钮具有自己的背景图像和背景颜色。

当按下其中一个按钮时,它会删除显示按钮背景的按钮图像,该图像只是一种纯色,与行颜色不同。您可以在the correct response to button press看到此信息。再次按下按钮会返回我想要的图像。这与第一个屏幕截图相同。但是,通过按钮的后续循环不再显示按钮的背景颜色,而是显示组的(行)背景颜色。您可以在not behaving properly看到此信息。所以第一次按下工作并删除背景图像,显示按钮的背景颜色。即使按下按钮也会将按钮恢复为原始背景图像。随后的奇数按下显示行背景颜色。无论是第二次按下按钮还是使用行按钮(行中的第一个按钮)重置行,此操作都是相同的。

如何修复后续的单次按下以充当第一次按下并显示按钮的背景颜色?

我的行和按钮的控制器代码(blueRed)位于下方。

@IBOutlet var clearBlueButton: WKInterfaceButton!
@IBAction func clearBlue() {
    if (blueRedDead) {
        blueRed.setBackgroundImageNamed( "livered.png");
        blueRed.setBackgroundColor( UIColor (red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0));
        blueRedDead = false;
    }
    if (blueBlackDead) {
        blueBlack.setBackgroundImageNamed( "liveblack.png");
        blueBlack.setBackgroundColor( UIColor (red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0));
        blueBlackDead = false;
    }
    if (blueYellowDead) {
        blueYellow.setBackgroundImageNamed( "liveyellow.png");
        blueYellow.setBackgroundColor( UIColor (red: 1.0, green: 1.0, blue: 0.0, alpha: 1.0));
        blueYellowDead = false;
    }
}
@IBOutlet var blueRed:
    WKInterfaceButton!
@IBAction func blueStrikeRed() {
    if (!blueRedDead) {
        blueRedDead=true;
        blueRed.setBackgroundImage( nil);
        blueRed.setBackgroundColor( UIColor (red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0));
    }
    else {
        blueRedDead=false;
        blueRed.setBackgroundImageNamed( "livered.png");
        blueRed.setBackgroundColor( UIColor (red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0));
    }
}

感谢。 克雷格

0 个答案:

没有答案