我正在开发一个带有 6 个 UIButtons 的记忆游戏,当它们被触摸时会改变背景图像。我检查两个磁带是否与布尔值相同。我有 6 个不同的,每个按钮操作都设置为 YES。
如果第一个 BOOL 不等于第二个 BOOL,那么它们应该变回原来的背景图像。我的问题是,当直接单击第二个按钮时,这两个按钮会发生变化。我希望在它们更改之前看到第二个按钮的图像。这是我的代码:
- (void)buttonClicked:(id)sender
{
buttonClickedBOOL = YES;
[animation stuff....]
if (randomNumberi == 0)
{
[button setBackgroundImage:[UIImage imageNamed:@"apple.png"] forState:UIControlStateNormal];
}
else if (randomNumberi == 1)
{
[button setBackgroundImage:[UIImage imageNamed:@"windows_logo.png"] forState:UIControlStateNormal];
}
else if (randomNumberi == 2)
{
[button setBackgroundImage:[UIImage imageNamed:@"fujitsu.png"] forState:UIControlStateNormal];
}
[UIView commitAnimations];
[self gameCheck];
}
这是我检查条件的地方:
- (void)gameCheck
{
if ((buttonClickedBOOL == YES) && (button2ClickedBOOL == YES))
{
button.enabled = NO;
button2.enabled = NO;
button3.enabled = NO;
button4.enabled = NO;
button5.enabled = NO;
button6.enabled = NO;
if (randomNumberi == randomNumberi2)
{
NSLog(@"The same");
}
else
{
[animations stuff....]
[button setBackgroundImage:nil forState:UIControlStateNormal];
[UIView commitAnimations];
[animations stuff....]
[button2 setBackgroundImage:nil forState:UIControlStateNormal];
[UIView commitAnimations];
}
}
随机变量在 viewDidLoad 中设置为整数 0-3,并表示应该设置哪些图像。