Objective c 按下按钮时更改按钮背景的操作,然后从一个按钮再次按下时更改回来
我正在为IOS编写一个类似“yahtzee”的游戏。我需要能够按下模具(按钮),如果我希望保持该模具,它将改变为一个备用图像。那很好。我还需要能够取消选择该模具,以防我选择错误。我这辈子都不能让这件事发生。以下是我尝试过的许多选项中的两个: 选项1:Objective c 按下按钮时更改按钮背景的操作,然后从一个按钮再次按下时更改回来,objective-c,ios6,uibutton,ibaction,Objective C,Ios6,Uibutton,Ibaction,我正在为IOS编写一个类似“yahtzee”的游戏。我需要能够按下模具(按钮),如果我希望保持该模具,它将改变为一个备用图像。那很好。我还需要能够取消选择该模具,以防我选择错误。我这辈子都不能让这件事发生。以下是我尝试过的许多选项中的两个: 选项1: - (IBAction)die1Button:(UIButton *)sender { if (sender) { if (self.die1 >= 1)
- (IBAction)die1Button:(UIButton *)sender
{
if (sender)
{
if (self.die1 >= 1)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieSelectedImage:self.die1]) forState:
(UIControlStateNormal)];
self.die1Selected = YES;
}
else
{
self.die1Selected = NO;
}
}
}
- (IBAction)die1ButtonSelected:(UIButton *)sender
{
if(sender)
{
if (self.die1Selected == YES)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieImage:self.die1]) forState:
(UIControlStateSelected)];
self.die1Selected = NO;
}
}
}
- (IBAction)die1Button:(UIButton *)sender
{
if (sender)
{
if (self.die1 >= 1)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieSelectedImage:self.die1]) forState:
(UIControlStateNormal)];
self.die1Selected = YES;
}
else
{
self.die1Selected = NO;
}
if (self.die1Selected == YES)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieImage:self.die1]) forState:
(UIControlStateSelected)];
self.die1Selected = NO;
}
}
}
选项2:
- (IBAction)die1Button:(UIButton *)sender
{
if (sender)
{
if (self.die1 >= 1)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieSelectedImage:self.die1]) forState:
(UIControlStateNormal)];
self.die1Selected = YES;
}
else
{
self.die1Selected = NO;
}
}
}
- (IBAction)die1ButtonSelected:(UIButton *)sender
{
if(sender)
{
if (self.die1Selected == YES)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieImage:self.die1]) forState:
(UIControlStateSelected)];
self.die1Selected = NO;
}
}
}
- (IBAction)die1Button:(UIButton *)sender
{
if (sender)
{
if (self.die1 >= 1)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieSelectedImage:self.die1]) forState:
(UIControlStateNormal)];
self.die1Selected = YES;
}
else
{
self.die1Selected = NO;
}
if (self.die1Selected == YES)
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieImage:self.die1]) forState:
(UIControlStateSelected)];
self.die1Selected = NO;
}
}
}
第一个选项显然不起作用,也不起作用。由于明显的原因,第二个选项也不允许我选择任何内容
我已经在这里和其他地方读了大概30篇关于UIButtons及其iBaction的帖子,但是我没有读到,希望有人能帮忙。这是一个课堂作业,但我们被鼓励寻求任何来源的帮助,只要我们没有人为我们编写整个应用程序 我终于明白了,我是愚蠢的。代码如下:
- (IBAction)die1Button:(UIButton *)sender
{
if (sender)
{
if (self.die1Selected == NO)
{
self.die1Selected = YES;
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieSelectedImage:self.die1]) forState:(UIControlStateNormal)];
}else
{
[self.die1ButtonOutlet setBackgroundImage:([self.dieImage
dieImage:self.die1]) forState:(UIControlStateNormal)];
self.die1Selected = NO;
}
}
}
}